@hipay/hipay-material-ui 2.0.0-beta.36 → 2.0.0-beta.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HiAppBar/HiAppBar.js +0 -2
- package/HiCell/CellAddress.js +140 -0
- package/HiCell/CellDate.js +140 -0
- package/HiCell/CellIcon.js +122 -0
- package/HiCell/CellImage.js +132 -0
- package/HiCell/CellNumeric.js +122 -0
- package/HiCell/CellPinToAction.js +92 -0
- package/HiCell/CellRate.js +184 -0
- package/HiCell/CellSentinel.js +179 -0
- package/HiCell/CellText.js +250 -0
- package/HiCell/index.js +71 -0
- package/HiCheckbox/HiCheckbox.js +2 -2
- package/HiDatePicker/Caption.js +0 -1
- package/HiDatePicker/HiDatePicker.js +1 -1
- package/HiDatePicker/HiDateRangePicker.js +756 -0
- package/HiDatePicker/HiDateRangeSelector.js +495 -0
- package/HiDatePicker/ListPicker.js +0 -1
- package/HiDatePicker/ListPicker.spec.js +1 -2
- package/HiDatePicker/NavBar.js +2 -2
- package/HiDatePicker/NavBar.spec.js +4 -5
- package/HiDatePicker/Overlays/CustomOverlayLayout.js +0 -1
- package/HiDatePicker/Overlays/MonthPickerOverlay.js +0 -1
- package/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +0 -1
- package/HiDatePicker/Overlays/Overlay.js +0 -1
- package/HiDatePicker/Overlays/Overlay.spec.js +0 -5
- package/HiDatePicker/Overlays/TimePickerOverlay.js +0 -1
- package/HiDatePicker/Overlays/TimePickerOverlay.spec.js +0 -1
- package/HiDatePicker/Overlays/YearPickerOverlay.js +0 -1
- package/HiDatePicker/Overlays/YearPickerOverlay.spec.js +0 -1
- package/HiDatePicker/Weekday.js +0 -1
- package/HiDatePicker/stylesheet.js +7 -3
- package/HiForm/HiFormControl.js +23 -3
- package/HiForm/HiInput.js +2 -2
- package/HiSelect/HiSelect.js +1 -1
- package/HiSelect/HiSuggestSelect.js +8 -8
- package/HiSelectableList/HiSelectableList.js +3 -1
- package/HiSelectableList/HiSelectableListItem.js +14 -11
- package/es/HiAppBar/HiAppBar.js +0 -2
- package/es/HiCell/CellAddress.js +97 -0
- package/es/HiCell/CellDate.js +94 -0
- package/es/HiCell/CellIcon.js +83 -0
- package/es/HiCell/CellImage.js +91 -0
- package/es/HiCell/CellNumeric.js +80 -0
- package/es/HiCell/CellPinToAction.js +53 -0
- package/es/HiCell/CellRate.js +142 -0
- package/es/HiCell/CellSentinel.js +140 -0
- package/es/HiCell/CellText.js +198 -0
- package/es/HiCell/index.js +8 -0
- package/es/HiCheckbox/HiCheckbox.js +2 -2
- package/es/HiDatePicker/Caption.js +0 -1
- package/es/HiDatePicker/HiDatePicker.js +1 -1
- package/es/HiDatePicker/HiDateRangePicker.js +661 -0
- package/es/HiDatePicker/HiDateRangeSelector.js +432 -0
- package/es/HiDatePicker/ListPicker.js +0 -1
- package/es/HiDatePicker/ListPicker.spec.js +1 -2
- package/es/HiDatePicker/NavBar.js +2 -2
- package/es/HiDatePicker/NavBar.spec.js +4 -5
- package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +0 -1
- package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +0 -1
- package/es/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +0 -1
- package/es/HiDatePicker/Overlays/Overlay.js +0 -1
- package/es/HiDatePicker/Overlays/Overlay.spec.js +0 -3
- package/es/HiDatePicker/Overlays/TimePickerOverlay.js +0 -1
- package/es/HiDatePicker/Overlays/TimePickerOverlay.spec.js +0 -1
- package/es/HiDatePicker/Overlays/YearPickerOverlay.js +0 -1
- package/es/HiDatePicker/Overlays/YearPickerOverlay.spec.js +0 -1
- package/es/HiDatePicker/Overlays/index.js +0 -1
- package/es/HiDatePicker/Weekday.js +0 -1
- package/es/HiDatePicker/stylesheet.js +7 -3
- package/es/HiForm/HiFormControl.js +22 -3
- package/es/HiForm/HiInput.js +2 -2
- package/es/HiSelect/HiSelect.js +1 -1
- package/es/HiSelect/HiSuggestSelect.js +8 -8
- package/es/HiSelectableList/HiSelectableList.js +3 -1
- package/es/HiSelectableList/HiSelectableListItem.js +14 -11
- package/es/index.js +2 -1
- package/es/styles/createPalette.js +2 -1
- package/es/utils/helpers.js +117 -0
- package/index.es.js +3 -2
- package/index.js +1 -1
- package/package.json +1 -1
- package/styles/createPalette.js +1 -1
- package/umd/hipay-material-ui.development.js +39 -14
- package/umd/hipay-material-ui.production.min.js +2 -2
- package/utils/helpers.js +134 -0
@@ -0,0 +1,92 @@
|
|
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 = exports.styles = void 0;
|
9
|
+
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
11
|
+
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
13
|
+
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
15
|
+
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
17
|
+
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
19
|
+
|
20
|
+
var _react = _interopRequireDefault(require("react"));
|
21
|
+
|
22
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
23
|
+
|
24
|
+
var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
|
25
|
+
|
26
|
+
var _HiPin = _interopRequireDefault(require("../HiPin"));
|
27
|
+
|
28
|
+
var styles = {
|
29
|
+
wrapper: {
|
30
|
+
maxWidth: '100%',
|
31
|
+
display: 'inline-flex'
|
32
|
+
}
|
33
|
+
};
|
34
|
+
/**
|
35
|
+
* Cette cellule permet d'afficher un pin avec callback (optionnel).
|
36
|
+
*/
|
37
|
+
|
38
|
+
exports.styles = styles;
|
39
|
+
|
40
|
+
var _ref = _react.default.createElement(_HiPin.default, null, "0");
|
41
|
+
|
42
|
+
var CellPinToAction =
|
43
|
+
/*#__PURE__*/
|
44
|
+
function (_React$PureComponent) {
|
45
|
+
(0, _inherits2.default)(CellPinToAction, _React$PureComponent);
|
46
|
+
|
47
|
+
function CellPinToAction() {
|
48
|
+
(0, _classCallCheck2.default)(this, CellPinToAction);
|
49
|
+
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(CellPinToAction).apply(this, arguments));
|
50
|
+
}
|
51
|
+
|
52
|
+
(0, _createClass2.default)(CellPinToAction, [{
|
53
|
+
key: "render",
|
54
|
+
value: function render() {
|
55
|
+
var _this$props = this.props,
|
56
|
+
classes = _this$props.classes,
|
57
|
+
onClick = _this$props.onClick,
|
58
|
+
number = _this$props.number;
|
59
|
+
if (number === undefined) return '';
|
60
|
+
return _react.default.createElement("div", {
|
61
|
+
className: classes.wrapper
|
62
|
+
}, number === 0 ? _ref : _react.default.createElement(_HiPin.default, {
|
63
|
+
color: "primary",
|
64
|
+
onClick: onClick
|
65
|
+
}, number));
|
66
|
+
}
|
67
|
+
}]);
|
68
|
+
return CellPinToAction;
|
69
|
+
}(_react.default.PureComponent);
|
70
|
+
|
71
|
+
CellPinToAction.propTypes = process.env.NODE_ENV !== "production" ? {
|
72
|
+
/**
|
73
|
+
* Useful to extend the style applied to components.
|
74
|
+
*/
|
75
|
+
classes: _propTypes.default.object,
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Pin number to display
|
79
|
+
*/
|
80
|
+
number: _propTypes.default.number,
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Fonction de callback onClick sur le pin
|
84
|
+
*/
|
85
|
+
onClick: _propTypes.default.func
|
86
|
+
} : {};
|
87
|
+
|
88
|
+
var _default = (0, _withStyles.default)(styles, {
|
89
|
+
name: 'HmuiCellPin'
|
90
|
+
})(CellPinToAction);
|
91
|
+
|
92
|
+
exports.default = _default;
|
@@ -0,0 +1,184 @@
|
|
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 = exports.styles = void 0;
|
9
|
+
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
13
|
+
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
15
|
+
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
17
|
+
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
19
|
+
|
20
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
21
|
+
|
22
|
+
var _react = _interopRequireDefault(require("react"));
|
23
|
+
|
24
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
25
|
+
|
26
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
27
|
+
|
28
|
+
var _mdiMaterialUi = require("mdi-material-ui");
|
29
|
+
|
30
|
+
var _helpers = require("../utils/helpers");
|
31
|
+
|
32
|
+
var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
|
33
|
+
|
34
|
+
var styles = function styles(theme) {
|
35
|
+
return {
|
36
|
+
flexContent: {
|
37
|
+
display: 'flex',
|
38
|
+
flexDirection: 'column',
|
39
|
+
justifyContent: 'center',
|
40
|
+
overflow: 'hidden',
|
41
|
+
position: 'relative',
|
42
|
+
textAlign: 'right'
|
43
|
+
},
|
44
|
+
trendChipIcon: {
|
45
|
+
width: 14,
|
46
|
+
height: 14,
|
47
|
+
position: 'relative',
|
48
|
+
top: 2
|
49
|
+
},
|
50
|
+
positive: {
|
51
|
+
color: theme.palette.positive.main
|
52
|
+
},
|
53
|
+
negative: {
|
54
|
+
color: theme.palette.negative.main
|
55
|
+
},
|
56
|
+
neutral: {
|
57
|
+
color: theme.palette.neutral.main
|
58
|
+
},
|
59
|
+
spanIndicator: {
|
60
|
+
fontSize: 11,
|
61
|
+
float: 'right',
|
62
|
+
color: '#737373',
|
63
|
+
position: 'relative',
|
64
|
+
right: 3
|
65
|
+
},
|
66
|
+
rateDiv: {
|
67
|
+
position: 'relative'
|
68
|
+
}
|
69
|
+
};
|
70
|
+
};
|
71
|
+
/**
|
72
|
+
* Cette cellule permet d'afficher un pourcentage
|
73
|
+
* avec une icône d'évolution (optionnelle) et un indicateur du type de données représentées (optionnel)
|
74
|
+
*/
|
75
|
+
|
76
|
+
|
77
|
+
exports.styles = styles;
|
78
|
+
|
79
|
+
var CellRate =
|
80
|
+
/*#__PURE__*/
|
81
|
+
function (_React$PureComponent) {
|
82
|
+
(0, _inherits2.default)(CellRate, _React$PureComponent);
|
83
|
+
|
84
|
+
function CellRate() {
|
85
|
+
(0, _classCallCheck2.default)(this, CellRate);
|
86
|
+
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(CellRate).apply(this, arguments));
|
87
|
+
}
|
88
|
+
|
89
|
+
(0, _createClass2.default)(CellRate, [{
|
90
|
+
key: "render",
|
91
|
+
value: function render() {
|
92
|
+
var _classNames, _classNames2;
|
93
|
+
|
94
|
+
var _this$props = this.props,
|
95
|
+
classes = _this$props.classes,
|
96
|
+
value = _this$props.value,
|
97
|
+
trendchip = _this$props.trendchip,
|
98
|
+
isPositive = _this$props.isPositive,
|
99
|
+
indicator = _this$props.indicator,
|
100
|
+
locale = _this$props.locale,
|
101
|
+
view = _this$props.view;
|
102
|
+
var trendIcon;
|
103
|
+
var displayedRate = (0, _helpers.formatRate)(value, view, locale);
|
104
|
+
|
105
|
+
switch (trendchip) {
|
106
|
+
case 'equal':
|
107
|
+
trendIcon = _react.default.createElement(_mdiMaterialUi.Equal, {
|
108
|
+
className: (0, _classnames.default)(classes.trendChipIcon, classes.neutral)
|
109
|
+
});
|
110
|
+
break;
|
111
|
+
|
112
|
+
case 'up':
|
113
|
+
trendIcon = _react.default.createElement(_mdiMaterialUi.ArrowTopRight, {
|
114
|
+
className: (0, _classnames.default)(classes.trendChipIcon, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.positive, isPositive), (0, _defineProperty2.default)(_classNames, classes.negative, !isPositive), _classNames))
|
115
|
+
});
|
116
|
+
break;
|
117
|
+
|
118
|
+
case 'down':
|
119
|
+
trendIcon = _react.default.createElement(_mdiMaterialUi.ArrowBottomRight, {
|
120
|
+
className: (0, _classnames.default)(classes.trendChipIcon, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.positive, !isPositive), (0, _defineProperty2.default)(_classNames2, classes.negative, isPositive), _classNames2))
|
121
|
+
});
|
122
|
+
break;
|
123
|
+
|
124
|
+
default:
|
125
|
+
break;
|
126
|
+
}
|
127
|
+
|
128
|
+
return _react.default.createElement("div", {
|
129
|
+
className: classes.flexContent
|
130
|
+
}, _react.default.createElement("div", {
|
131
|
+
className: typeof indicator === 'undefined' && classes.rateDiv || ''
|
132
|
+
}, displayedRate, trendIcon), typeof indicator !== 'undefined' && _react.default.createElement("span", {
|
133
|
+
className: classes.spanIndicator
|
134
|
+
}, indicator));
|
135
|
+
}
|
136
|
+
}]);
|
137
|
+
return CellRate;
|
138
|
+
}(_react.default.PureComponent);
|
139
|
+
|
140
|
+
CellRate.defaultProps = {
|
141
|
+
isPositive: true
|
142
|
+
};
|
143
|
+
CellRate.propTypes = process.env.NODE_ENV !== "production" ? {
|
144
|
+
/**
|
145
|
+
* Useful to extend the style applied to components.
|
146
|
+
*/
|
147
|
+
classes: _propTypes.default.object,
|
148
|
+
|
149
|
+
/**
|
150
|
+
* Spécifie le type de donnée évalué (ex: 'volume', 'amount', ...)
|
151
|
+
*/
|
152
|
+
indicator: _propTypes.default.string,
|
153
|
+
|
154
|
+
/**
|
155
|
+
* True si une augmentation est considérée comme positive, détermine la couleur de l'icône
|
156
|
+
*/
|
157
|
+
isPositive: _propTypes.default.bool,
|
158
|
+
|
159
|
+
/**
|
160
|
+
* Locale BCP 47
|
161
|
+
*/
|
162
|
+
locale: _propTypes.default.string,
|
163
|
+
|
164
|
+
/**
|
165
|
+
* Évolution par rapport à la période précédente, détermine l'icône associée
|
166
|
+
*/
|
167
|
+
trendchip: _propTypes.default.oneOf(['up', 'down', 'equal']).isRequired,
|
168
|
+
|
169
|
+
/**
|
170
|
+
* Rate
|
171
|
+
*/
|
172
|
+
value: _propTypes.default.number.isRequired,
|
173
|
+
|
174
|
+
/**
|
175
|
+
* View (L/M/S)
|
176
|
+
*/
|
177
|
+
view: _propTypes.default.oneOf(['l', 'm', 's'])
|
178
|
+
} : {};
|
179
|
+
|
180
|
+
var _default = (0, _withStyles.default)(styles, {
|
181
|
+
name: 'HmuiCellRate'
|
182
|
+
})(CellRate);
|
183
|
+
|
184
|
+
exports.default = _default;
|
@@ -0,0 +1,179 @@
|
|
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 = exports.styles = void 0;
|
9
|
+
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
11
|
+
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
13
|
+
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
15
|
+
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
17
|
+
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
19
|
+
|
20
|
+
var _react = _interopRequireDefault(require("react"));
|
21
|
+
|
22
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
23
|
+
|
24
|
+
var _HiColoredLabel = _interopRequireDefault(require("../HiColoredLabel"));
|
25
|
+
|
26
|
+
var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
|
27
|
+
|
28
|
+
var styles = {
|
29
|
+
smartDecision: {
|
30
|
+
marginLeft: 2,
|
31
|
+
display: 'inline-block',
|
32
|
+
minWidth: 18
|
33
|
+
},
|
34
|
+
label: {
|
35
|
+
marginLeft: 2
|
36
|
+
},
|
37
|
+
nowrap: {
|
38
|
+
whiteSpace: 'nowrap'
|
39
|
+
}
|
40
|
+
};
|
41
|
+
/**
|
42
|
+
* Get Theme color from fraudResult
|
43
|
+
* @param fraudResult
|
44
|
+
* @returns {*}
|
45
|
+
*/
|
46
|
+
|
47
|
+
exports.styles = styles;
|
48
|
+
|
49
|
+
function getColorFromFraudResult(fraudResult) {
|
50
|
+
var color;
|
51
|
+
|
52
|
+
switch (fraudResult.toUpperCase()) {
|
53
|
+
case 'ACCEPTED':
|
54
|
+
color = 'positive';
|
55
|
+
break;
|
56
|
+
|
57
|
+
case 'BLOCKED':
|
58
|
+
color = 'negative';
|
59
|
+
break;
|
60
|
+
|
61
|
+
case 'CHALLENGED':
|
62
|
+
color = 'middle';
|
63
|
+
break;
|
64
|
+
|
65
|
+
case 'PENDING':
|
66
|
+
color = 'primary';
|
67
|
+
break;
|
68
|
+
|
69
|
+
case 'FORCE_AUTHENTICATE':
|
70
|
+
case 'ASK_AUTHENTICATE':
|
71
|
+
default:
|
72
|
+
color = 'neutral';
|
73
|
+
break;
|
74
|
+
}
|
75
|
+
|
76
|
+
return color;
|
77
|
+
}
|
78
|
+
/**
|
79
|
+
* Cette cellule permet d'afficher le résultat de Sentinel (score & fraudResult & smartDecision)
|
80
|
+
*/
|
81
|
+
|
82
|
+
|
83
|
+
var CellSentinel =
|
84
|
+
/*#__PURE__*/
|
85
|
+
function (_React$PureComponent) {
|
86
|
+
(0, _inherits2.default)(CellSentinel, _React$PureComponent);
|
87
|
+
|
88
|
+
function CellSentinel() {
|
89
|
+
(0, _classCallCheck2.default)(this, CellSentinel);
|
90
|
+
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(CellSentinel).apply(this, arguments));
|
91
|
+
}
|
92
|
+
|
93
|
+
(0, _createClass2.default)(CellSentinel, [{
|
94
|
+
key: "render",
|
95
|
+
value: function render() {
|
96
|
+
var _this$props = this.props,
|
97
|
+
classes = _this$props.classes,
|
98
|
+
score = _this$props.score,
|
99
|
+
fraudResult = _this$props.fraudResult,
|
100
|
+
automaticFraudReviewResult = _this$props.automaticFraudReviewResult,
|
101
|
+
pendingManualAction = _this$props.pendingManualAction,
|
102
|
+
smartDecision = _this$props.smartDecision,
|
103
|
+
hideFraudResult = _this$props.hideFraudResult;
|
104
|
+
var scoreLabel = score > 0 ? "+".concat(score) : "".concat(score);
|
105
|
+
return _react.default.createElement("div", {
|
106
|
+
style: {
|
107
|
+
textAlign: 'right'
|
108
|
+
}
|
109
|
+
}, _react.default.createElement(_HiColoredLabel.default, {
|
110
|
+
label: scoreLabel,
|
111
|
+
color: getColorFromFraudResult(fraudResult),
|
112
|
+
classes: {
|
113
|
+
root: classes.label
|
114
|
+
},
|
115
|
+
active: pendingManualAction
|
116
|
+
}), !hideFraudResult && _react.default.createElement(_HiColoredLabel.default, {
|
117
|
+
label: fraudResult.toUpperCase().substr(0, 1),
|
118
|
+
color: getColorFromFraudResult(fraudResult),
|
119
|
+
classes: {
|
120
|
+
root: classes.label
|
121
|
+
},
|
122
|
+
active: pendingManualAction
|
123
|
+
}), !!smartDecision && _react.default.createElement("div", {
|
124
|
+
className: classes.smartDecision
|
125
|
+
}, automaticFraudReviewResult && _react.default.createElement(_HiColoredLabel.default, {
|
126
|
+
label: automaticFraudReviewResult.toUpperCase().substr(0, 1),
|
127
|
+
color: getColorFromFraudResult(automaticFraudReviewResult),
|
128
|
+
active: pendingManualAction
|
129
|
+
})));
|
130
|
+
}
|
131
|
+
}]);
|
132
|
+
return CellSentinel;
|
133
|
+
}(_react.default.PureComponent);
|
134
|
+
|
135
|
+
CellSentinel.defaultProps = {
|
136
|
+
hideFraudResult: false
|
137
|
+
};
|
138
|
+
CellSentinel.propTypes = process.env.NODE_ENV !== "production" ? {
|
139
|
+
/**
|
140
|
+
* Résultat de l'automaticFraudReview si la transaction est passée par SmartDecision
|
141
|
+
*/
|
142
|
+
automaticFraudReviewResult: _propTypes.default.string,
|
143
|
+
|
144
|
+
/**
|
145
|
+
* Useful to extend the style applied to components.
|
146
|
+
*/
|
147
|
+
classes: _propTypes.default.object,
|
148
|
+
|
149
|
+
/**
|
150
|
+
* Résultat de la fraude
|
151
|
+
*/
|
152
|
+
fraudResult: _propTypes.default.string.isRequired,
|
153
|
+
|
154
|
+
/**
|
155
|
+
* Si true le fraudResult ne sera pas affiché
|
156
|
+
*/
|
157
|
+
hideFraudResult: _propTypes.default.bool,
|
158
|
+
|
159
|
+
/**
|
160
|
+
* Signal qu'il attend une réponse manuelle
|
161
|
+
*/
|
162
|
+
pendingManualAction: _propTypes.default.bool,
|
163
|
+
|
164
|
+
/**
|
165
|
+
* Score de la fraude
|
166
|
+
*/
|
167
|
+
score: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
|
168
|
+
|
169
|
+
/**
|
170
|
+
* Active le SmartDecision (ajoute l'indicateur ou blanc)
|
171
|
+
*/
|
172
|
+
smartDecision: _propTypes.default.bool
|
173
|
+
} : {};
|
174
|
+
|
175
|
+
var _default = (0, _withStyles.default)(styles, {
|
176
|
+
name: 'HmuiCellSentinel'
|
177
|
+
})(CellSentinel);
|
178
|
+
|
179
|
+
exports.default = _default;
|
@@ -0,0 +1,250 @@
|
|
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 = exports.styles = void 0;
|
9
|
+
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
11
|
+
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
13
|
+
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
15
|
+
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
17
|
+
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
19
|
+
|
20
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
21
|
+
|
22
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
23
|
+
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
25
|
+
|
26
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
27
|
+
|
28
|
+
var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
|
29
|
+
|
30
|
+
var _HiColoredLabel = _interopRequireDefault(require("../HiColoredLabel"));
|
31
|
+
|
32
|
+
var styles = {
|
33
|
+
leftEllipsisSpan: {
|
34
|
+
display: 'inline-block',
|
35
|
+
overflow: 'hidden',
|
36
|
+
textOverflow: 'ellipsis',
|
37
|
+
whiteSpace: 'pre',
|
38
|
+
direction: 'rtl'
|
39
|
+
},
|
40
|
+
rightEllipsisSpan: {
|
41
|
+
display: 'inline-block',
|
42
|
+
overflow: 'hidden',
|
43
|
+
textOverflow: 'ellipsis',
|
44
|
+
whiteSpace: 'pre'
|
45
|
+
},
|
46
|
+
noEllipsisSpan: {
|
47
|
+
display: 'inline-block',
|
48
|
+
overflow: 'hidden',
|
49
|
+
whiteSpace: 'pre'
|
50
|
+
}
|
51
|
+
};
|
52
|
+
exports.styles = styles;
|
53
|
+
|
54
|
+
var CellText =
|
55
|
+
/*#__PURE__*/
|
56
|
+
function (_React$Component) {
|
57
|
+
(0, _inherits2.default)(CellText, _React$Component);
|
58
|
+
|
59
|
+
function CellText(props) {
|
60
|
+
var _this;
|
61
|
+
|
62
|
+
(0, _classCallCheck2.default)(this, CellText);
|
63
|
+
_this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(CellText).call(this, props));
|
64
|
+
_this.cellText = null;
|
65
|
+
_this.buildEllipsis = _this.buildEllipsis.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
66
|
+
return _this;
|
67
|
+
}
|
68
|
+
/**
|
69
|
+
* TODO - Ellipsis (middle, after-first-word)
|
70
|
+
*/
|
71
|
+
|
72
|
+
|
73
|
+
(0, _createClass2.default)(CellText, [{
|
74
|
+
key: "componentDidMount",
|
75
|
+
value: function componentDidMount() {
|
76
|
+
this.buildEllipsis();
|
77
|
+
}
|
78
|
+
}, {
|
79
|
+
key: "componentDidUpdate",
|
80
|
+
value: function componentDidUpdate(prevProps) {
|
81
|
+
if (prevProps.label !== this.props.label) this.buildEllipsis();
|
82
|
+
}
|
83
|
+
}, {
|
84
|
+
key: "buildEllipsis",
|
85
|
+
value: function buildEllipsis() {
|
86
|
+
/**
|
87
|
+
* Calcul l'espace disponible dans la cellule en plus du premier mot
|
88
|
+
* si il reste de l'espace, définit la largeur du span pour le reste du texte
|
89
|
+
*/
|
90
|
+
if (this.props.ellipsis === 'after-first-word' || this.props.ellipsis === 'name') {
|
91
|
+
if (this.cellText !== null) {
|
92
|
+
var _this$cellText$getEle = this.cellText.getElementsByTagName('span'),
|
93
|
+
_this$cellText$getEle2 = (0, _slicedToArray2.default)(_this$cellText$getEle, 2),
|
94
|
+
startSpan = _this$cellText$getEle2[0],
|
95
|
+
endSpan = _this$cellText$getEle2[1];
|
96
|
+
|
97
|
+
if (typeof startSpan !== 'undefined' && typeof endSpan !== 'undefined') {
|
98
|
+
var availableEndSpace = this.cellText.offsetWidth - startSpan.offsetWidth - 2;
|
99
|
+
|
100
|
+
if (availableEndSpace > 0) {
|
101
|
+
endSpan.style.width = "".concat(availableEndSpace, "px");
|
102
|
+
} else {
|
103
|
+
startSpan.style.width = '100%';
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
}
|
108
|
+
/**
|
109
|
+
* Calcul l'espace pris par les 2 spans (les 2 moitiés du texte),
|
110
|
+
* si ils dépassent la largeur de la cellule :
|
111
|
+
* - diminue d'autant et proportionnellement chaque span
|
112
|
+
* - ajoute l'ellipse à gauche de la deuxième moitié du texte.
|
113
|
+
*/
|
114
|
+
|
115
|
+
|
116
|
+
if (this.props.ellipsis === 'middle') {
|
117
|
+
if (this.cellText !== null) {
|
118
|
+
var _this$cellText$getEle3 = this.cellText.getElementsByTagName('span'),
|
119
|
+
_this$cellText$getEle4 = (0, _slicedToArray2.default)(_this$cellText$getEle3, 2),
|
120
|
+
_startSpan = _this$cellText$getEle4[0],
|
121
|
+
_endSpan = _this$cellText$getEle4[1];
|
122
|
+
|
123
|
+
if (typeof _startSpan !== 'undefined' && typeof _endSpan !== 'undefined') {
|
124
|
+
var _availableEndSpace = this.cellText.offsetWidth - _startSpan.offsetWidth - _endSpan.offsetWidth;
|
125
|
+
|
126
|
+
if (_availableEndSpace < 0) {
|
127
|
+
_startSpan.style.width = '50%';
|
128
|
+
_endSpan.style.width = '49%';
|
129
|
+
} else {
|
130
|
+
_startSpan.style.width = 'initial';
|
131
|
+
_endSpan.style.width = 'initial';
|
132
|
+
}
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}, {
|
138
|
+
key: "render",
|
139
|
+
value: function render() {
|
140
|
+
var _this2 = this;
|
141
|
+
|
142
|
+
var _this$props = this.props,
|
143
|
+
classes = _this$props.classes,
|
144
|
+
label = _this$props.label,
|
145
|
+
ellipsis = _this$props.ellipsis,
|
146
|
+
color = _this$props.color;
|
147
|
+
var start;
|
148
|
+
var end;
|
149
|
+
var valueElement = '';
|
150
|
+
var valueString = label.toString();
|
151
|
+
|
152
|
+
switch (ellipsis) {
|
153
|
+
case 'name':
|
154
|
+
case 'after-first-word':
|
155
|
+
// Split value in 2 strings around first whitespace
|
156
|
+
start = valueString.substr(0, valueString.indexOf(' '));
|
157
|
+
end = valueString.substr(valueString.indexOf(' ') + 1);
|
158
|
+
|
159
|
+
if (start === '') {
|
160
|
+
start = end;
|
161
|
+
end = '';
|
162
|
+
}
|
163
|
+
|
164
|
+
valueElement = _react.default.createElement("div", {
|
165
|
+
ref: function ref(div) {
|
166
|
+
_this2.cellText = div;
|
167
|
+
}
|
168
|
+
}, _react.default.createElement("span", {
|
169
|
+
className: classes.rightEllipsisSpan
|
170
|
+
}, "".concat(start, " ")), _react.default.createElement("span", {
|
171
|
+
className: classes.leftEllipsisSpan
|
172
|
+
}, end));
|
173
|
+
break;
|
174
|
+
|
175
|
+
case 'middle':
|
176
|
+
// Split value in 2 strings
|
177
|
+
start = valueString.substr(0, Math.round(valueString.length / 2));
|
178
|
+
end = valueString.substr(Math.round(valueString.length / 2));
|
179
|
+
valueElement = _react.default.createElement("div", {
|
180
|
+
ref: function ref(div) {
|
181
|
+
_this2.cellText = div;
|
182
|
+
}
|
183
|
+
}, _react.default.createElement("span", {
|
184
|
+
className: classes.noEllipsisSpan
|
185
|
+
}, start), _react.default.createElement("span", {
|
186
|
+
className: classes.leftEllipsisSpan
|
187
|
+
}, end));
|
188
|
+
break;
|
189
|
+
|
190
|
+
case 'left':
|
191
|
+
valueElement = color ? _react.default.createElement(_HiColoredLabel.default, {
|
192
|
+
className: classes.leftEllipsisSpan,
|
193
|
+
label: valueString,
|
194
|
+
color: color
|
195
|
+
}) : _react.default.createElement("div", {
|
196
|
+
className: classes.leftEllipsisSpan,
|
197
|
+
style: {
|
198
|
+
width: '100%'
|
199
|
+
}
|
200
|
+
}, valueString);
|
201
|
+
break;
|
202
|
+
|
203
|
+
case 'right':
|
204
|
+
default:
|
205
|
+
valueElement = color ? _react.default.createElement(_HiColoredLabel.default, {
|
206
|
+
className: classes.rightEllipsisSpan,
|
207
|
+
label: valueString,
|
208
|
+
color: color
|
209
|
+
}) : _react.default.createElement("div", {
|
210
|
+
className: classes.rightEllipsisSpan,
|
211
|
+
style: {
|
212
|
+
width: '100%'
|
213
|
+
}
|
214
|
+
}, valueString);
|
215
|
+
break;
|
216
|
+
}
|
217
|
+
|
218
|
+
return valueElement;
|
219
|
+
}
|
220
|
+
}]);
|
221
|
+
return CellText;
|
222
|
+
}(_react.default.Component);
|
223
|
+
|
224
|
+
CellText.propTypes = process.env.NODE_ENV !== "production" ? {
|
225
|
+
/**
|
226
|
+
* Useful to extend the style applied to components.
|
227
|
+
*/
|
228
|
+
classes: _propTypes.default.object,
|
229
|
+
|
230
|
+
/**
|
231
|
+
* Couleur du text & du background
|
232
|
+
*/
|
233
|
+
color: _propTypes.default.string,
|
234
|
+
|
235
|
+
/**
|
236
|
+
* Ellipsis
|
237
|
+
*/
|
238
|
+
ellipsis: _propTypes.default.oneOf(['left', 'right', 'middle', 'name', 'after-first-word']),
|
239
|
+
|
240
|
+
/**
|
241
|
+
* Label à afficher
|
242
|
+
*/
|
243
|
+
label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired
|
244
|
+
} : {};
|
245
|
+
|
246
|
+
var _default = (0, _withStyles.default)(styles, {
|
247
|
+
name: 'HmuiCellText'
|
248
|
+
})(CellText);
|
249
|
+
|
250
|
+
exports.default = _default;
|