@hipay/hipay-material-ui 2.0.0-beta.57 → 2.0.0-beta.59

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/HiAlertModal/HiAlertModal.js +56 -13
  3. package/HiColoredLabel/HiColoredLabel.js +16 -4
  4. package/HiForm/HiFormControl.js +2 -4
  5. package/HiForm/HiInput.js +29 -4
  6. package/HiForm/HiUploadField.js +2 -1
  7. package/HiSelect/HiSelect.js +6 -5
  8. package/HiSelect/HiSuggestSelect.js +5 -4
  9. package/HiSelect/SelectInput.js +1 -0
  10. package/HiSelectNew/HiNestedSelect.js +20 -6
  11. package/HiSelectNew/HiNestedSelectContent.js +20 -6
  12. package/HiSelectNew/HiSelect.js +104 -32
  13. package/HiSelectNew/HiSelectContent.js +16 -4
  14. package/HiSelectNew/HiSelectInput.js +10 -3
  15. package/HiSelectableList/HiSelectableList.js +2 -35
  16. package/HiSelectableList/HiSelectableListItem.js +6 -4
  17. package/es/HiAlertModal/HiAlertModal.js +55 -13
  18. package/es/HiColoredLabel/HiColoredLabel.js +21 -4
  19. package/es/HiForm/HiFormControl.js +2 -4
  20. package/es/HiForm/HiInput.js +29 -4
  21. package/es/HiForm/HiUploadField.js +2 -1
  22. package/es/HiSelect/HiSelect.js +6 -5
  23. package/es/HiSelect/HiSuggestSelect.js +5 -4
  24. package/es/HiSelect/SelectInput.js +1 -0
  25. package/es/HiSelectNew/HiNestedSelect.js +17 -7
  26. package/es/HiSelectNew/HiNestedSelectContent.js +16 -6
  27. package/es/HiSelectNew/HiSelect.js +106 -31
  28. package/es/HiSelectNew/HiSelectContent.js +11 -2
  29. package/es/HiSelectNew/HiSelectInput.js +10 -3
  30. package/es/HiSelectableList/HiSelectableList.js +3 -29
  31. package/es/HiSelectableList/HiSelectableListItem.js +6 -4
  32. package/index.es.js +1 -1
  33. package/index.js +1 -1
  34. package/package.json +1 -1
  35. package/umd/hipay-material-ui.development.js +15551 -16279
  36. package/umd/hipay-material-ui.production.min.js +2 -2
@@ -37,6 +37,9 @@ export const styles = theme => ({
37
37
  width: '100%'
38
38
  })
39
39
  });
40
+ export var filterValue = function (item, searchValue) {
41
+ return searchValue === '' || foldAccents(item.label.toString().toLowerCase()).search(foldAccents(searchValue.toLowerCase())) !== -1;
42
+ };
40
43
  /**
41
44
  *
42
45
  * Utilisé pour tous types de selects dans les formulaires.
@@ -197,7 +200,7 @@ class HiSelectContent extends React.PureComponent {
197
200
  hideCheckbox: true,
198
201
  label: 'loading'
199
202
  }] : []), // simple one level filter on label
200
- ...(search !== '' ? [...options.filter(item => item.label && foldAccents(item.label.toString().toLowerCase()).search(foldAccents(search.toLowerCase())) !== -1)] : [...(this.props.hasAll ? [_objectSpread({
203
+ ...(search !== '' ? [...options.filter(item => item.label && this.props.filterFunc(item, search))] : [...(this.props.hasAll ? [_objectSpread({
201
204
  id: '_all',
202
205
  label: this.props.translations.all
203
206
  }, this.props.iconAll && {
@@ -331,7 +334,8 @@ HiSelectContent.defaultProps = {
331
334
  n_children: '%s items',
332
335
  one_child: '%s item'
333
336
  },
334
- type: 'text'
337
+ type: 'text',
338
+ filterFunc: filterValue
335
339
  };
336
340
  HiSelectContent.propTypes = process.env.NODE_ENV !== "production" ? {
337
341
  autoHeight: PropTypes.bool,
@@ -356,6 +360,11 @@ HiSelectContent.propTypes = process.env.NODE_ENV !== "production" ? {
356
360
  */
357
361
  fallbackImage: PropTypes.string,
358
362
 
363
+ /*
364
+ * Fonction de filtrage custom
365
+ */
366
+ filterFunc: PropTypes.func,
367
+
359
368
  /**
360
369
  * Affiche l'élément 'All'
361
370
  */
@@ -146,8 +146,12 @@ class HiSelectInput extends React.PureComponent {
146
146
  };
147
147
 
148
148
  this.handleClick = event => {
149
+ // Do not open select if press on resetIcon
149
150
  if ((!this.resetIcon || !this.resetIcon.contains(event.target)) && this.props.onClick) {
150
- this.props.onClick(event);
151
+ // Do not open select if press enter on button => submit form
152
+ if (event.type !== 'keydown' || keycode(event) !== 'enter') {
153
+ this.props.onClick(event);
154
+ }
151
155
  }
152
156
  };
153
157
 
@@ -162,9 +166,11 @@ class HiSelectInput extends React.PureComponent {
162
166
  this.handleBlur = event => {
163
167
  if ((!this.input || !this.input.contains(event.relatedTarget)) && this.props.onBlur) {
164
168
  this.props.onBlur(event);
165
- } else if (this.input && (!this.resetIcon || !this.resetIcon.contains(event.relatedTarget))) {
166
- this.input.focus();
167
169
  }
170
+ /* else if (this.input && (!this.resetIcon || !this.resetIcon.contains(event.relatedTarget))) {
171
+ this.input.focus();
172
+ }*/
173
+
168
174
  };
169
175
 
170
176
  this.ref = el => {
@@ -225,6 +231,7 @@ class HiSelectInput extends React.PureComponent {
225
231
  }, value || placeholder), React.createElement(ArrowDropDownIcon, {
226
232
  className: iconClass
227
233
  })) : React.createElement(ButtonBase, {
234
+ component: "div",
228
235
  id: id,
229
236
  className: rootClass,
230
237
  onClick: this.handleClick,
@@ -5,8 +5,7 @@ import PropTypes from 'prop-types';
5
5
  import List from '@material-ui/core/List';
6
6
  import withStyles from '../styles/withStyles';
7
7
  import HiSelectableListItem from './HiSelectableListItem';
8
- import { foldAccents, getNextItemSelectable } from '../utils/helpers';
9
- import keycode from 'keycode';
8
+ import { foldAccents } from '../utils/helpers';
10
9
  export const styles = () => ({
11
10
  root: {
12
11
  padding: 0
@@ -24,31 +23,6 @@ class HiSelectableList extends React.PureComponent {
24
23
  this.props.onSelect(event, item);
25
24
  };
26
25
 
27
- this.handleKeyDown = event => {
28
- let nextItem;
29
- const key = keycode(event);
30
-
31
- if (key === 'down') {
32
- event.preventDefault();
33
- nextItem = getNextItemSelectable(document.activeElement, 'down');
34
- } else if (key === 'up') {
35
- event.preventDefault();
36
- nextItem = getNextItemSelectable(document.activeElement, 'up');
37
- } else if (key === 'space' || key === 'enter' && !this.props.multiple) {
38
- event.preventDefault();
39
- const item = this.props.options.find(elem => String(elem.id) === event.target.id);
40
- this.handleSelect(null, item);
41
- }
42
-
43
- if (nextItem) {
44
- nextItem.focus();
45
- }
46
- };
47
-
48
- this.handleKeyUp = () => {
49
- return false;
50
- };
51
-
52
26
  this.buildRecursiveListItem = (item, level = 0) => {
53
27
  const _this$props = this.props,
54
28
  {
@@ -60,8 +34,8 @@ class HiSelectableList extends React.PureComponent {
60
34
  icon,
61
35
  selectedItemIdList,
62
36
  sort,
63
- onKeyDown = this.handleKeyDown,
64
- onKeyUp = this.handleKeyUp
37
+ onKeyDown,
38
+ onKeyUp
65
39
  } = _this$props,
66
40
  others = _objectWithoutProperties(_this$props, ["checkedIcon", "disabled", "disabledItemIdList", "hideCheckbox", "hoverIcon", "icon", "selectedItemIdList", "sort", "onKeyDown", "onKeyUp"]);
67
41
 
@@ -85,12 +85,13 @@ export const styles = theme => ({
85
85
  minWidth: '50%',
86
86
  padding: '5px 0',
87
87
  '&$listItemContentSelected': {
88
- marginBottom: -3,
88
+ marginBottom: 1,
89
89
  marginLeft: -4
90
90
  },
91
91
  '& strong': {
92
92
  fontWeight: theme.typography.fontWeightMedium
93
- }
93
+ },
94
+ display: 'inline-flex'
94
95
  }),
95
96
  listItemContentSelected: {},
96
97
  label: {
@@ -136,7 +137,7 @@ export const styles = theme => ({
136
137
  labelContent: {
137
138
  display: 'flex',
138
139
  alignItems: 'center',
139
- maxWidth: '70%',
140
+ maxWidth: '85%',
140
141
  '&$labelWithoutSecondaryInline': {
141
142
  maxWidth: '100%'
142
143
  }
@@ -225,7 +226,8 @@ class HiSelectableListItem extends React.PureComponent {
225
226
  }
226
227
 
227
228
  return React.createElement("div", {
228
- className: classes.label
229
+ className: classes.label,
230
+ title: label
229
231
  }, label);
230
232
  }
231
233
 
package/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license HiPay-Material-UI v2.0.0-beta.57
1
+ /** @license HiPay-Material-UI v2.0.0-beta.59
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license HiPay-Material-UI v2.0.0-beta.57
1
+ /** @license HiPay-Material-UI v2.0.0-beta.59
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@hipay/hipay-material-ui",
3
3
  "private": false,
4
4
  "author": "HiPay PSYCHE Team",
5
- "version": "2.0.0-beta.57",
5
+ "version": "2.0.0-beta.59",
6
6
  "description": "React components that implement Google's Material Design.",
7
7
  "keywords": [
8
8
  "react",