@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.
@@ -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 }; }
@@ -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',
@@ -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 = _this.props.value;
166
+ var val = props.value;
167
167
  // No options provided.
168
- if (!_this.props.options.length || !val.length) {
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
- // Check if an option match value prop.
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
- // Construct two associative arrays
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
  */