@hipay/hipay-material-ui 1.0.0-beta.6 → 1.0.0-beta.7
Sign up to get free protection for your applications and to get access to all the features.
- package/HiAlertModal/HiAlertModal.js +247 -0
- package/HiAlertModal/index.js +16 -0
- package/HiExpansionPanel/HiExpansionPanel.js +231 -0
- package/HiExpansionPanel/index.js +16 -0
- package/HiForm/HiFormControl.js +3 -0
- package/HiSelect/HiSelect.js +50 -31
- package/HiSelectableList/HiSelectableListItem.js +34 -9
- package/HiTable/BodyCells/CellCountry.js +1 -1
- package/es/HiAlertModal/HiAlertModal.js +189 -0
- package/es/HiAlertModal/index.js +1 -0
- package/es/HiExpansionPanel/HiExpansionPanel.js +170 -0
- package/es/HiExpansionPanel/index.js +1 -0
- package/es/HiForm/HiFormControl.js +3 -0
- package/es/HiSelect/HiSelect.js +49 -31
- package/es/HiSelectableList/HiSelectableListItem.js +30 -9
- package/es/HiTable/BodyCells/CellCountry.js +1 -1
- package/es/styles/createHiMuiTheme.js +4 -0
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- package/styles/createHiMuiTheme.js +4 -0
- package/umd/hipay-material-ui.development.js +826 -775
- package/umd/hipay-material-ui.production.min.js +4 -4
@@ -0,0 +1,247 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.styles = undefined;
|
7
|
+
|
8
|
+
var _extends2 = require('babel-runtime/helpers/extends');
|
9
|
+
|
10
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
11
|
+
|
12
|
+
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
13
|
+
|
14
|
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15
|
+
|
16
|
+
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
17
|
+
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
19
|
+
|
20
|
+
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
21
|
+
|
22
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
23
|
+
|
24
|
+
var _createClass2 = require('babel-runtime/helpers/createClass');
|
25
|
+
|
26
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
27
|
+
|
28
|
+
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
29
|
+
|
30
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
31
|
+
|
32
|
+
var _inherits2 = require('babel-runtime/helpers/inherits');
|
33
|
+
|
34
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
35
|
+
|
36
|
+
var _react = require('react');
|
37
|
+
|
38
|
+
var _react2 = _interopRequireDefault(_react);
|
39
|
+
|
40
|
+
var _propTypes = require('prop-types');
|
41
|
+
|
42
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
43
|
+
|
44
|
+
var _Dialog = require('material-ui/Dialog');
|
45
|
+
|
46
|
+
var _Dialog2 = _interopRequireDefault(_Dialog);
|
47
|
+
|
48
|
+
var _styles = require('../styles');
|
49
|
+
|
50
|
+
var _HiButton = require('../HiButton');
|
51
|
+
|
52
|
+
var _HiButton2 = _interopRequireDefault(_HiButton);
|
53
|
+
|
54
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
55
|
+
|
56
|
+
var styles = exports.styles = function styles(theme) {
|
57
|
+
return {
|
58
|
+
classContent: {
|
59
|
+
fontSize: 14,
|
60
|
+
lineHeight: '24px',
|
61
|
+
color: '#484848'
|
62
|
+
},
|
63
|
+
classPaper: {
|
64
|
+
maxWidth: 300
|
65
|
+
},
|
66
|
+
classCancelButton: {
|
67
|
+
float: 'right'
|
68
|
+
},
|
69
|
+
classTitle: {
|
70
|
+
fontSize: 20,
|
71
|
+
fontFamily: theme.typography.fontFamily,
|
72
|
+
fontWeight: theme.typography.fontWeightLight,
|
73
|
+
lineHeight: '24px'
|
74
|
+
},
|
75
|
+
classAction: {
|
76
|
+
display: 'inline-block'
|
77
|
+
},
|
78
|
+
classDialogRoot: {
|
79
|
+
backgroundColor: 'rgba(0, 0, 0, 0.28)'
|
80
|
+
}
|
81
|
+
};
|
82
|
+
};
|
83
|
+
|
84
|
+
/**
|
85
|
+
* Pop up d'alert
|
86
|
+
*/
|
87
|
+
// @inheritedComponent Dialog
|
88
|
+
|
89
|
+
var HiAlertModal = function (_React$PureComponent) {
|
90
|
+
(0, _inherits3.default)(HiAlertModal, _React$PureComponent);
|
91
|
+
|
92
|
+
function HiAlertModal(props) {
|
93
|
+
(0, _classCallCheck3.default)(this, HiAlertModal);
|
94
|
+
|
95
|
+
var _this = (0, _possibleConstructorReturn3.default)(this, (HiAlertModal.__proto__ || (0, _getPrototypeOf2.default)(HiAlertModal)).call(this, props));
|
96
|
+
|
97
|
+
_this.handleClickCancel = function () {
|
98
|
+
if (_this.props.onCancelClick) {
|
99
|
+
_this.props.onCancelClick();
|
100
|
+
}
|
101
|
+
};
|
102
|
+
|
103
|
+
_this.handleClickSubmit = function () {
|
104
|
+
if (_this.props.onSubmitClick) {
|
105
|
+
_this.props.onSubmitClick();
|
106
|
+
}
|
107
|
+
};
|
108
|
+
|
109
|
+
_this.handleOnClose = function () {
|
110
|
+
if (_this.props.onClose) {
|
111
|
+
_this.props.onClose();
|
112
|
+
}
|
113
|
+
};
|
114
|
+
|
115
|
+
_this.handleOnClose = _this.handleOnClose.bind(_this);
|
116
|
+
_this.handleClickCancel = _this.handleClickCancel.bind(_this);
|
117
|
+
_this.handleClickSubmit = _this.handleClickSubmit.bind(_this);
|
118
|
+
return _this;
|
119
|
+
}
|
120
|
+
|
121
|
+
// Appelé au clic du bouton d'annulation
|
122
|
+
|
123
|
+
|
124
|
+
// Appelé au clic du bouton de soumission
|
125
|
+
|
126
|
+
|
127
|
+
// Appelé si clic en dehors de la pop up
|
128
|
+
|
129
|
+
|
130
|
+
(0, _createClass3.default)(HiAlertModal, [{
|
131
|
+
key: 'render',
|
132
|
+
|
133
|
+
|
134
|
+
// Render
|
135
|
+
value: function render() {
|
136
|
+
var _props = this.props,
|
137
|
+
labelSubmitButton = _props.labelSubmitButton,
|
138
|
+
labelCancelButton = _props.labelCancelButton,
|
139
|
+
content = _props.content,
|
140
|
+
title = _props.title,
|
141
|
+
positive = _props.positive,
|
142
|
+
negative = _props.negative,
|
143
|
+
open = _props.open,
|
144
|
+
onCancelClick = _props.onCancelClick,
|
145
|
+
onSubmitClick = _props.onSubmitClick,
|
146
|
+
classes = _props.classes,
|
147
|
+
props = (0, _objectWithoutProperties3.default)(_props, ['labelSubmitButton', 'labelCancelButton', 'content', 'title', 'positive', 'negative', 'open', 'onCancelClick', 'onSubmitClick', 'classes']);
|
148
|
+
|
149
|
+
return _react2.default.createElement(
|
150
|
+
_Dialog2.default,
|
151
|
+
(0, _extends3.default)({
|
152
|
+
open: open,
|
153
|
+
onClose: this.handleOnClose,
|
154
|
+
classes: { paper: classes.classPaper, root: classes.classDialogRoot }
|
155
|
+
}, props),
|
156
|
+
_react2.default.createElement(
|
157
|
+
_Dialog.DialogTitle,
|
158
|
+
{ disableTypography: true, classes: { root: classes.classTitle } },
|
159
|
+
title
|
160
|
+
),
|
161
|
+
_react2.default.createElement(
|
162
|
+
_Dialog.DialogContent,
|
163
|
+
null,
|
164
|
+
_react2.default.createElement(
|
165
|
+
_Dialog.DialogContentText,
|
166
|
+
{ classes: { root: classes.classContent } },
|
167
|
+
content
|
168
|
+
)
|
169
|
+
),
|
170
|
+
_react2.default.createElement(
|
171
|
+
_Dialog.DialogActions,
|
172
|
+
{ classes: { root: classes.classAction } },
|
173
|
+
_react2.default.createElement(
|
174
|
+
_HiButton2.default,
|
175
|
+
{
|
176
|
+
onClick: this.handleClickSubmit,
|
177
|
+
positive: positive,
|
178
|
+
negative: negative
|
179
|
+
},
|
180
|
+
labelSubmitButton
|
181
|
+
),
|
182
|
+
_react2.default.createElement(
|
183
|
+
_HiButton2.default,
|
184
|
+
{
|
185
|
+
classes: { root: classes.classCancelButton },
|
186
|
+
onClick: this.handleClickCancel
|
187
|
+
},
|
188
|
+
labelCancelButton
|
189
|
+
)
|
190
|
+
)
|
191
|
+
);
|
192
|
+
}
|
193
|
+
}]);
|
194
|
+
return HiAlertModal;
|
195
|
+
}(_react2.default.PureComponent);
|
196
|
+
|
197
|
+
HiAlertModal.defaultProps = {
|
198
|
+
negative: false,
|
199
|
+
positive: false
|
200
|
+
};
|
201
|
+
HiAlertModal.propTypes = process.env.NODE_ENV !== "production" ? {
|
202
|
+
/**
|
203
|
+
* Surcharge les classes du composant
|
204
|
+
*/
|
205
|
+
classes: _propTypes2.default.object,
|
206
|
+
/**
|
207
|
+
* Texte contenu dans la modal
|
208
|
+
*/
|
209
|
+
content: _propTypes2.default.string,
|
210
|
+
/**
|
211
|
+
* Texte sur le bouton d'annulation
|
212
|
+
*/
|
213
|
+
labelCancelButton: _propTypes2.default.string,
|
214
|
+
/**
|
215
|
+
* Texte sur le bouton de soumission
|
216
|
+
*/
|
217
|
+
labelSubmitButton: _propTypes2.default.string,
|
218
|
+
/**
|
219
|
+
* Colore le bouton de soumission en rouge
|
220
|
+
*/
|
221
|
+
negative: _propTypes2.default.bool,
|
222
|
+
/**
|
223
|
+
* Fonction de callback appelée au clic sur le bouton d'annulation
|
224
|
+
*/
|
225
|
+
onCancelClick: _propTypes2.default.func,
|
226
|
+
/**
|
227
|
+
* Fonction de callback appelée au clic en dehors de la pop up
|
228
|
+
*/
|
229
|
+
onClose: _propTypes2.default.func,
|
230
|
+
/**
|
231
|
+
* Fonction de callback appelée au clic sur le bouton de soumission
|
232
|
+
*/
|
233
|
+
onSubmitClick: _propTypes2.default.func,
|
234
|
+
/**
|
235
|
+
* pop up ouverte ou pas
|
236
|
+
*/
|
237
|
+
open: _propTypes2.default.bool.isRequired,
|
238
|
+
/**
|
239
|
+
* Colore le bouton de soumission en vert
|
240
|
+
*/
|
241
|
+
positive: _propTypes2.default.bool,
|
242
|
+
/**
|
243
|
+
* Titre de la modal
|
244
|
+
*/
|
245
|
+
title: _propTypes2.default.string
|
246
|
+
} : {};
|
247
|
+
exports.default = (0, _styles.withStyles)(styles, { name: 'HmuiHiAlertModal' })(HiAlertModal);
|
@@ -0,0 +1,16 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _HiAlertModal = require('./HiAlertModal');
|
8
|
+
|
9
|
+
Object.defineProperty(exports, 'default', {
|
10
|
+
enumerable: true,
|
11
|
+
get: function get() {
|
12
|
+
return _interopRequireDefault(_HiAlertModal).default;
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -0,0 +1,231 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.styles = undefined;
|
7
|
+
|
8
|
+
var _extends2 = require('babel-runtime/helpers/extends');
|
9
|
+
|
10
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
11
|
+
|
12
|
+
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
13
|
+
|
14
|
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15
|
+
|
16
|
+
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
17
|
+
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
19
|
+
|
20
|
+
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
21
|
+
|
22
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
23
|
+
|
24
|
+
var _createClass2 = require('babel-runtime/helpers/createClass');
|
25
|
+
|
26
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
27
|
+
|
28
|
+
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
29
|
+
|
30
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
31
|
+
|
32
|
+
var _inherits2 = require('babel-runtime/helpers/inherits');
|
33
|
+
|
34
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
35
|
+
|
36
|
+
var _react = require('react');
|
37
|
+
|
38
|
+
var _react2 = _interopRequireDefault(_react);
|
39
|
+
|
40
|
+
var _propTypes = require('prop-types');
|
41
|
+
|
42
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
43
|
+
|
44
|
+
var _ExpansionPanel = require('material-ui/ExpansionPanel');
|
45
|
+
|
46
|
+
var _ExpansionPanel2 = _interopRequireDefault(_ExpansionPanel);
|
47
|
+
|
48
|
+
var _Typography = require('material-ui/Typography');
|
49
|
+
|
50
|
+
var _Typography2 = _interopRequireDefault(_Typography);
|
51
|
+
|
52
|
+
var _MenuDown = require('mdi-material-ui/MenuDown');
|
53
|
+
|
54
|
+
var _MenuDown2 = _interopRequireDefault(_MenuDown);
|
55
|
+
|
56
|
+
var _styles = require('../styles');
|
57
|
+
|
58
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
59
|
+
|
60
|
+
// @inheritedComponent ExpansionPanel
|
61
|
+
|
62
|
+
var styles = exports.styles = function styles(theme) {
|
63
|
+
return {
|
64
|
+
heading: {
|
65
|
+
fontSize: 20,
|
66
|
+
lineHeight: '24px',
|
67
|
+
fontWeight: theme.typography.fontWeightLight
|
68
|
+
},
|
69
|
+
secondaryHeading: {
|
70
|
+
fontSize: 11,
|
71
|
+
color: '#737373',
|
72
|
+
textAlign: 'right',
|
73
|
+
lineHeight: '24px',
|
74
|
+
fontWeight: theme.typography.fontWeightRegular,
|
75
|
+
verticalAlign: 'middle',
|
76
|
+
'&>svg': {
|
77
|
+
fontSize: 18,
|
78
|
+
marginLeft: 3,
|
79
|
+
marginBottom: -5
|
80
|
+
}
|
81
|
+
},
|
82
|
+
column: {
|
83
|
+
flexBasis: '100%'
|
84
|
+
},
|
85
|
+
panelSummary: {
|
86
|
+
'&>div:first-child': {
|
87
|
+
margin: '12px 0',
|
88
|
+
'&>div:last-child': {
|
89
|
+
paddingRight: 8
|
90
|
+
}
|
91
|
+
},
|
92
|
+
'&>div:last-child': {
|
93
|
+
width: 16,
|
94
|
+
height: 16
|
95
|
+
}
|
96
|
+
},
|
97
|
+
panelSummaryExpanded: {
|
98
|
+
borderBottom: '1px solid #E3E6E7',
|
99
|
+
minHeight: 0
|
100
|
+
},
|
101
|
+
expandMoreIcon: {
|
102
|
+
margin: 0,
|
103
|
+
fontSize: 18,
|
104
|
+
width: 20
|
105
|
+
},
|
106
|
+
panel: {
|
107
|
+
boxShadow: 'none',
|
108
|
+
border: 'none'
|
109
|
+
},
|
110
|
+
panelDetails: {
|
111
|
+
padding: '8px 24px 8px'
|
112
|
+
},
|
113
|
+
disabledPanel: {
|
114
|
+
backgroundColor: '#ffffff',
|
115
|
+
opacity: 1
|
116
|
+
},
|
117
|
+
expandIconExpanded: {
|
118
|
+
transform: 'translateY(-50%) rotate(-90deg)'
|
119
|
+
}
|
120
|
+
};
|
121
|
+
};
|
122
|
+
|
123
|
+
var HiExpansionPanel = function (_React$PureComponent) {
|
124
|
+
(0, _inherits3.default)(HiExpansionPanel, _React$PureComponent);
|
125
|
+
|
126
|
+
function HiExpansionPanel() {
|
127
|
+
(0, _classCallCheck3.default)(this, HiExpansionPanel);
|
128
|
+
return (0, _possibleConstructorReturn3.default)(this, (HiExpansionPanel.__proto__ || (0, _getPrototypeOf2.default)(HiExpansionPanel)).apply(this, arguments));
|
129
|
+
}
|
130
|
+
|
131
|
+
(0, _createClass3.default)(HiExpansionPanel, [{
|
132
|
+
key: 'render',
|
133
|
+
value: function render() {
|
134
|
+
var _props = this.props,
|
135
|
+
disabled = _props.disabled,
|
136
|
+
heading = _props.heading,
|
137
|
+
secondaryHeading = _props.secondaryHeading,
|
138
|
+
secondaryHeadingDisabled = _props.secondaryHeadingDisabled,
|
139
|
+
secondaryHeadingIcon = _props.secondaryHeadingIcon,
|
140
|
+
children = _props.children,
|
141
|
+
classes = _props.classes,
|
142
|
+
props = (0, _objectWithoutProperties3.default)(_props, ['disabled', 'heading', 'secondaryHeading', 'secondaryHeadingDisabled', 'secondaryHeadingIcon', 'children', 'classes']);
|
143
|
+
|
144
|
+
|
145
|
+
var effectiveDisabled = disabled || !children;
|
146
|
+
|
147
|
+
return _react2.default.createElement(
|
148
|
+
_ExpansionPanel2.default,
|
149
|
+
(0, _extends3.default)({
|
150
|
+
disabled: effectiveDisabled,
|
151
|
+
classes: { root: classes.panel, disabled: classes.disabledPanel }
|
152
|
+
}, props),
|
153
|
+
_react2.default.createElement(
|
154
|
+
_ExpansionPanel.ExpansionPanelSummary,
|
155
|
+
{
|
156
|
+
classes: {
|
157
|
+
root: classes.panelSummary,
|
158
|
+
disabled: classes.disabledPanel,
|
159
|
+
expanded: classes.panelSummaryExpanded,
|
160
|
+
expandIconExpanded: classes.expandIconExpanded
|
161
|
+
},
|
162
|
+
expandIcon: _react2.default.createElement(_MenuDown2.default, { classes: { root: classes.expandMoreIcon } })
|
163
|
+
},
|
164
|
+
_react2.default.createElement(
|
165
|
+
'div',
|
166
|
+
{ className: classes.column },
|
167
|
+
_react2.default.createElement(
|
168
|
+
_Typography2.default,
|
169
|
+
{ classes: { root: classes.heading } },
|
170
|
+
heading
|
171
|
+
)
|
172
|
+
),
|
173
|
+
_react2.default.createElement(
|
174
|
+
'div',
|
175
|
+
{ className: classes.column },
|
176
|
+
_react2.default.createElement(
|
177
|
+
_Typography2.default,
|
178
|
+
{ classes: { root: classes.secondaryHeading } },
|
179
|
+
!effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled,
|
180
|
+
secondaryHeadingIcon
|
181
|
+
)
|
182
|
+
)
|
183
|
+
),
|
184
|
+
!!children && _react2.default.createElement(
|
185
|
+
_ExpansionPanel.ExpansionPanelDetails,
|
186
|
+
{ classes: { root: classes.panelDetails } },
|
187
|
+
children
|
188
|
+
)
|
189
|
+
);
|
190
|
+
}
|
191
|
+
}]);
|
192
|
+
return HiExpansionPanel;
|
193
|
+
}(_react2.default.PureComponent);
|
194
|
+
|
195
|
+
HiExpansionPanel.defaultProps = {
|
196
|
+
disabled: false,
|
197
|
+
secondaryHeading: '',
|
198
|
+
secondaryHeadingIcon: '',
|
199
|
+
secondaryHeadingDisabled: 'PAS ENCORE COMPLETE'
|
200
|
+
};
|
201
|
+
HiExpansionPanel.propTypes = process.env.NODE_ENV !== "production" ? {
|
202
|
+
/**
|
203
|
+
* Contenu du panel
|
204
|
+
*/
|
205
|
+
children: _propTypes2.default.any,
|
206
|
+
/**
|
207
|
+
* Surcharge les classes du composant
|
208
|
+
*/
|
209
|
+
classes: _propTypes2.default.object,
|
210
|
+
/**
|
211
|
+
* Désactivé
|
212
|
+
*/
|
213
|
+
disabled: _propTypes2.default.bool,
|
214
|
+
/**
|
215
|
+
* Titre principal du panel
|
216
|
+
*/
|
217
|
+
heading: _propTypes2.default.string.isRequired,
|
218
|
+
/**
|
219
|
+
* Titre secondaire du panel
|
220
|
+
*/
|
221
|
+
secondaryHeading: _propTypes2.default.string,
|
222
|
+
/**
|
223
|
+
* Titre secondaire si désactivé
|
224
|
+
*/
|
225
|
+
secondaryHeadingDisabled: _propTypes2.default.string,
|
226
|
+
/**
|
227
|
+
* Icone dans le titre secondaire du panel
|
228
|
+
*/
|
229
|
+
secondaryHeadingIcon: _propTypes2.default.any
|
230
|
+
} : {};
|
231
|
+
exports.default = (0, _styles.withStyles)(styles, { name: 'HmuiHiExpansionPanel' })(HiExpansionPanel);
|
@@ -0,0 +1,16 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _HiExpansionPanel = require('./HiExpansionPanel');
|
8
|
+
|
9
|
+
Object.defineProperty(exports, 'default', {
|
10
|
+
enumerable: true,
|
11
|
+
get: function get() {
|
12
|
+
return _interopRequireDefault(_HiExpansionPanel).default;
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/HiForm/HiFormControl.js
CHANGED
@@ -175,6 +175,9 @@ var HiFormControl = function (_React$PureComponent) {
|
|
175
175
|
key: 'handleFocus',
|
176
176
|
value: function handleFocus(value) {
|
177
177
|
this.setState({ focused: value });
|
178
|
+
if (value === false && this.state.hovered) {
|
179
|
+
this.setState({ hovered: false });
|
180
|
+
}
|
178
181
|
}
|
179
182
|
}, {
|
180
183
|
key: 'handleHover',
|
package/HiSelect/HiSelect.js
CHANGED
@@ -163,43 +163,28 @@ var HiSelect = function (_React$PureComponent) {
|
|
163
163
|
|
164
164
|
// Check if value is in options
|
165
165
|
var valueInOptions = false;
|
166
|
-
var val =
|
166
|
+
var val = props.value;
|
167
167
|
// No options provided.
|
168
|
-
if (!
|
168
|
+
if (!props.options.length || !val || !val.length) {
|
169
169
|
valueInOptions = true;
|
170
|
+
} else {
|
171
|
+
// Check if an option match value prop.
|
172
|
+
props.options.forEach(function (item) {
|
173
|
+
if (!valueInOptions && val.indexOf(item.id) !== -1) {
|
174
|
+
valueInOptions = true;
|
175
|
+
}
|
176
|
+
});
|
170
177
|
}
|
171
|
-
|
172
|
-
_this.props.options.forEach(function (item) {
|
173
|
-
if (!valueInOptions && val.indexOf(item.id) !== -1) {
|
174
|
-
valueInOptions = true;
|
175
|
-
}
|
176
|
-
});
|
178
|
+
|
177
179
|
if (!valueInOptions) {
|
178
180
|
throw new Error('prop value provided does not match any option.');
|
179
181
|
}
|
180
182
|
|
181
183
|
if (props.hierarchic === true && props.options.length > 1) {
|
182
|
-
|
183
|
-
// hierarchy[parentId] => children
|
184
|
-
// hierarchySelected[parentId] => selected children
|
185
|
-
var hierarchy = {};
|
186
|
-
var hierarchySelected = {};
|
187
|
-
var value = props.value || [];
|
188
|
-
if (!Array.isArray(value)) value = [props.value];
|
189
|
-
props.options.forEach(function (option) {
|
190
|
-
if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
|
191
|
-
hierarchy[option.id] = [];
|
192
|
-
hierarchySelected[option.id] = [];
|
193
|
-
} else if (option.hasOwnProperty('parentId')) {
|
194
|
-
hierarchy[option.parentId].push(option.id);
|
195
|
-
if (value.includes(option.id)) {
|
196
|
-
hierarchySelected[option.parentId].push(option.id);
|
197
|
-
}
|
198
|
-
}
|
199
|
-
});
|
184
|
+
var hierarchyTrees = _this.buildHierarchyTrees(props);
|
200
185
|
|
201
|
-
_this.state.hierarchy = hierarchy;
|
202
|
-
_this.state.hierarchySelected = hierarchySelected;
|
186
|
+
_this.state.hierarchy = hierarchyTrees.hierarchy;
|
187
|
+
_this.state.hierarchySelected = hierarchyTrees.hierarchySelected;
|
203
188
|
}
|
204
189
|
|
205
190
|
if (props.options.length > 0) {
|
@@ -238,6 +223,34 @@ var HiSelect = function (_React$PureComponent) {
|
|
238
223
|
});
|
239
224
|
this.setState({ nbOptions: optionsLength });
|
240
225
|
}
|
226
|
+
|
227
|
+
if (nextProps.hierarchic === true && nextProps.options.length > 1) {
|
228
|
+
var hierarchyTrees = this.buildHierarchyTrees(nextProps);
|
229
|
+
this.setState({ hierarchy: hierarchyTrees.hierarchy, hierarchySelected: hierarchyTrees.hierarchySelected });
|
230
|
+
}
|
231
|
+
}
|
232
|
+
}, {
|
233
|
+
key: 'buildHierarchyTrees',
|
234
|
+
value: function buildHierarchyTrees(props) {
|
235
|
+
// Construct two associative arrays
|
236
|
+
// hierarchy[parentId] => children
|
237
|
+
// hierarchySelected[parentId] => selected children
|
238
|
+
var hierarchy = {};
|
239
|
+
var hierarchySelected = {};
|
240
|
+
var value = props.value || [];
|
241
|
+
if (!Array.isArray(value)) value = [props.value];
|
242
|
+
props.options.forEach(function (option) {
|
243
|
+
if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
|
244
|
+
hierarchy[option.id] = [];
|
245
|
+
hierarchySelected[option.id] = [];
|
246
|
+
} else if (option.hasOwnProperty('parentId')) {
|
247
|
+
hierarchy[option.parentId].push(option.id);
|
248
|
+
if (value.includes(option.id)) {
|
249
|
+
hierarchySelected[option.parentId].push(option.id);
|
250
|
+
}
|
251
|
+
}
|
252
|
+
});
|
253
|
+
return { hierarchy: hierarchy, hierarchySelected: hierarchySelected };
|
241
254
|
}
|
242
255
|
|
243
256
|
// Key down on list items
|
@@ -287,7 +300,8 @@ var HiSelect = function (_React$PureComponent) {
|
|
287
300
|
hoverIcon = _props.hoverIcon,
|
288
301
|
checkedIcon = _props.checkedIcon,
|
289
302
|
hierarchic = _props.hierarchic,
|
290
|
-
id = _props.id
|
303
|
+
id = _props.id,
|
304
|
+
placeholder = _props.placeholder;
|
291
305
|
var _state = this.state,
|
292
306
|
open = _state.open,
|
293
307
|
suggestions = _state.suggestions,
|
@@ -322,7 +336,7 @@ var HiSelect = function (_React$PureComponent) {
|
|
322
336
|
}
|
323
337
|
|
324
338
|
if (displayAsChip) {
|
325
|
-
var chipFilter = _react2.default.createElement(_HiChip2.default, { label: display, onDelete: this.handleRequestDelete });
|
339
|
+
var chipFilter = _react2.default.createElement(_HiChip2.default, { label: placeholder || display, onDelete: this.handleRequestDelete });
|
326
340
|
if (display) {
|
327
341
|
display = chipFilter;
|
328
342
|
}
|
@@ -356,7 +370,7 @@ var HiSelect = function (_React$PureComponent) {
|
|
356
370
|
null,
|
357
371
|
_react2.default.createElement(_SelectInput2.default, {
|
358
372
|
id: id,
|
359
|
-
value: display,
|
373
|
+
value: placeholder || display,
|
360
374
|
open: open,
|
361
375
|
focused: focused,
|
362
376
|
type: type,
|
@@ -808,6 +822,11 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
808
822
|
* Les items parents sont sélectionnables
|
809
823
|
*/
|
810
824
|
parentItemSelectable: _propTypes2.default.bool,
|
825
|
+
/**
|
826
|
+
* Placeholder affiché lorsque le select est fermé
|
827
|
+
* Surcharge le placeholder par défaut
|
828
|
+
*/
|
829
|
+
placeholder: _propTypes2.default.string,
|
811
830
|
/**
|
812
831
|
* Affiche un input de recherche permettant de filtrer les options
|
813
832
|
*/
|