@hipay/hipay-material-ui 2.0.0-beta.68 → 2.0.0-beta.69
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +76 -0
- package/HiExpansionPanel/HiExpansionPanel.js +15 -4
- package/HiForm/HiInput.js +9 -3
- package/HiSelect/HiSelect.js +38 -19
- package/HiSelectableList/HiSelectableList.js +2 -2
- package/es/HiExpansionPanel/HiExpansionPanel.js +15 -4
- package/es/HiForm/HiInput.js +9 -3
- package/es/HiSelect/HiSelect.js +22 -6
- package/es/HiSelectableList/HiSelectableList.js +2 -2
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- package/umd/hipay-material-ui.development.js +50 -25
- package/umd/hipay-material-ui.production.min.js +2 -2
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,79 @@
|
|
1
|
+
# [2.0.0-beta.64](https://gitlab.hipay.org/backend/hipay-material-ui/compare/0.0.1...2.0.0-beta.64) (2019-04-04)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* **eslint:** remove eslint warrnings in components (ignore test files) ([d236c62](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d236c62))
|
7
|
+
* **HiAlertModal:** Correct styles and buttons positions ([2cfa2a9](https://gitlab.hipay.org/backend/hipay-material-ui/commit/2cfa2a9))
|
8
|
+
* **HiBreadcrumb:** clean eslint warnings ([6db12fb](https://gitlab.hipay.org/backend/hipay-material-ui/commit/6db12fb))
|
9
|
+
* **HiDatePicker:** add static positions for custom overlays ([c3edf24](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c3edf24))
|
10
|
+
* **HiDynamicSelect:** remove onSelect override ([b803044](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b803044))
|
11
|
+
* **HiExpansionPanel:** fix props propagation collapseDisable || expanded ([eb18a96](https://gitlab.hipay.org/backend/hipay-material-ui/commit/eb18a96))
|
12
|
+
* **HiExpansionPanel:** Fix props type a requirement ([cbc3b48](https://gitlab.hipay.org/backend/hipay-material-ui/commit/cbc3b48))
|
13
|
+
* **HiInput:** forward event in onClick ([be94fe0](https://gitlab.hipay.org/backend/hipay-material-ui/commit/be94fe0))
|
14
|
+
* **HiInput:** handle focus state through prop when needed to override default comportment ([9a133cc](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9a133cc))
|
15
|
+
* **HiInput:** rename prop to spellCheck ([c11939f](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c11939f))
|
16
|
+
* **HiKpiNotice:** eslint clean warnings ([11b5552](https://gitlab.hipay.org/backend/hipay-material-ui/commit/11b5552))
|
17
|
+
* **HiSelect:** Fix build of HiSelectContent ([4b87f78](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4b87f78))
|
18
|
+
* **HiSelect:** focus on undefined item ([2d084e6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/2d084e6))
|
19
|
+
* **HiSelect:** Forward event in onBlur ([76c6778](https://gitlab.hipay.org/backend/hipay-material-ui/commit/76c6778))
|
20
|
+
* **HiSelect:** handle staticPosition & width properly for HiDateRangeSelector usage ([7b19ffb](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7b19ffb))
|
21
|
+
* **HiSelect:** remove HiSelectNew calls ([cc5397d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/cc5397d))
|
22
|
+
* **HiSelectableList:** Add lazy props to activate lazyloading (default true) and fix unit tests ([b41f8d2](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b41f8d2))
|
23
|
+
* **HiSelectableListItem:** disabled item checkbox color ([9f10552](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9f10552))
|
24
|
+
* **HiSelectableListItem:** remove item width ([a913945](https://gitlab.hipay.org/backend/hipay-material-ui/commit/a913945))
|
25
|
+
* **HiSelectContent:** Remove compute of input value ([b86db83](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b86db83))
|
26
|
+
* **HiSlider:** eslint clean warnings ([08964b1](https://gitlab.hipay.org/backend/hipay-material-ui/commit/08964b1))
|
27
|
+
* **HiTable:** Fix test ([9a009a8](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9a009a8))
|
28
|
+
* **HiUploadField:** clean eslint warnings ([c76aaf1](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c76aaf1))
|
29
|
+
* **migration:** fix contrast threshold ... ([6fb3b18](https://gitlab.hipay.org/backend/hipay-material-ui/commit/6fb3b18))
|
30
|
+
* **package:** add cross-env ([7098fd6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7098fd6))
|
31
|
+
|
32
|
+
|
33
|
+
### Code Refactoring
|
34
|
+
|
35
|
+
* deleting the old HiSelect and replacing it by the new (PSYCHE-1382) ([d5fc252](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d5fc252))
|
36
|
+
|
37
|
+
|
38
|
+
### Features
|
39
|
+
|
40
|
+
* **CellImage:** Handle fallbackImage ([254799d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/254799d))
|
41
|
+
* **CellSentinel:** Uniformize cell api with front CellSentinel ([4e2975b](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4e2975b))
|
42
|
+
* **CellSentinel:** Update CellSentinel to the new way (split each result in different column) ([efe2711](https://gitlab.hipay.org/backend/hipay-material-ui/commit/efe2711))
|
43
|
+
* **CellSentinelScore:** Add CellSentinelScore ([2fff04d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/2fff04d))
|
44
|
+
* **CellText:** Handle active prop in CellText & column views in HiTable ([4366e60](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4366e60))
|
45
|
+
* **HiCells:** Add simple cells types (Address, Date, Icon, Image, Numeric, PinToAction, Rate, Senti ([f688517](https://gitlab.hipay.org/backend/hipay-material-ui/commit/f688517))
|
46
|
+
* **HiDatePicke:** add timezone props ([18360a5](https://gitlab.hipay.org/backend/hipay-material-ui/commit/18360a5))
|
47
|
+
* **HiDatePicker:** BREAKING CHANGE - add local prop to handle calendar translations ([b1b3743](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b1b3743))
|
48
|
+
* **HiIcon:** Add mdi-material-ui as available icons via 'mdi_' prefix ([1091d6d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/1091d6d))
|
49
|
+
* **HiInput:** Add inputProps to enable passing props directly to input element ([d57466c](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d57466c))
|
50
|
+
* **HiInput:** add spellcheck property ([b2feac3](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b2feac3))
|
51
|
+
* **HiMap:** unregister fetch on unmount ([0afa931](https://gitlab.hipay.org/backend/hipay-material-ui/commit/0afa931))
|
52
|
+
* **HiSelect:** Add (NEW) HiSelect, HiNestedSelect, HiDynamicSelect ([4c6447e](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4c6447e))
|
53
|
+
* **HiSelect:** Reset search input on blur & on close ([d9af584](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d9af584))
|
54
|
+
* **HiSelectableList:** Add sort props to sort item list on label ([f412ddc](https://gitlab.hipay.org/backend/hipay-material-ui/commit/f412ddc))
|
55
|
+
* **HiSelectContent:** Add new HiSelectContent & HiNestedSelectContent ([215ad8f](https://gitlab.hipay.org/backend/hipay-material-ui/commit/215ad8f))
|
56
|
+
* **HiSelectContent:** export utils functions ([7c41d87](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7c41d87))
|
57
|
+
* **HiUploadField:** rename component HiUploadField ([593f77e](https://gitlab.hipay.org/backend/hipay-material-ui/commit/593f77e))
|
58
|
+
* **notice:** Création notice KPI ([bba3f89](https://gitlab.hipay.org/backend/hipay-material-ui/commit/bba3f89))
|
59
|
+
|
60
|
+
|
61
|
+
### Performance Improvements
|
62
|
+
|
63
|
+
* **PureFunction:** Use pure & functional components ([220c686](https://gitlab.hipay.org/backend/hipay-material-ui/commit/220c686))
|
64
|
+
|
65
|
+
|
66
|
+
### BREAKING CHANGES
|
67
|
+
|
68
|
+
* HiSelectNew no longer exist, make sure you're importing HiSelect instead
|
69
|
+
* **HiDatePicker:** Required "local" props (use polyglot, p.currentLocal)
|
70
|
+
* **HiUploadField:** Components names changes
|
71
|
+
* **HiCells:** Remove CellCountry, CellThirdParty, CellStatus & CellAccount (use generic type
|
72
|
+
CellImage & CellText)
|
73
|
+
* **HiSelect:** HiSelect API change, use HiNestedSelect or HiDynamicSelect relative to situation
|
74
|
+
|
75
|
+
|
76
|
+
|
1
77
|
# [2.0.0-beta.64](https://gitlab.hipay.org/backend/hipay-material-ui/compare/0.0.1...2.0.0-beta.64) (2019-03-27)
|
2
78
|
|
3
79
|
|
@@ -33,7 +33,7 @@ var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/E
|
|
33
33
|
|
34
34
|
var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
|
35
35
|
|
36
|
-
var
|
36
|
+
var _HiIcon = _interopRequireDefault(require("./../HiIcon"));
|
37
37
|
|
38
38
|
var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
|
39
39
|
|
@@ -64,20 +64,28 @@ var styles = function styles(theme) {
|
|
64
64
|
pointerEvents: 'none'
|
65
65
|
},
|
66
66
|
heading: (0, _extends2.default)({}, theme.typography.b1, {
|
67
|
+
height: 48,
|
68
|
+
display: 'flex',
|
69
|
+
alignItems: 'center',
|
67
70
|
fontSize: 20,
|
68
71
|
lineHeight: '24px',
|
69
72
|
fontWeight: theme.typography.fontWeightLight
|
70
73
|
}),
|
71
74
|
secondaryHeading: (0, _extends2.default)({}, theme.typography.b3, {
|
72
75
|
color: theme.palette.neutral.light,
|
76
|
+
height: 48,
|
77
|
+
display: 'flex',
|
78
|
+
alignItems: 'center',
|
73
79
|
fontSize: 11,
|
74
80
|
lineHeight: '24px',
|
75
81
|
float: 'right',
|
76
82
|
marginRight: 32,
|
77
83
|
'&>svg': {
|
78
84
|
fontSize: 18,
|
79
|
-
marginLeft: 3
|
80
|
-
|
85
|
+
marginLeft: 3
|
86
|
+
},
|
87
|
+
"&>button": {
|
88
|
+
marginRight: -12
|
81
89
|
}
|
82
90
|
}),
|
83
91
|
panel: {
|
@@ -101,7 +109,10 @@ var styles = function styles(theme) {
|
|
101
109
|
|
102
110
|
exports.styles = styles;
|
103
111
|
|
104
|
-
var _ref = _react.default.createElement(
|
112
|
+
var _ref = _react.default.createElement(_HiIcon.default, {
|
113
|
+
icon: "mdi_menu_up",
|
114
|
+
size: 24
|
115
|
+
});
|
105
116
|
|
106
117
|
var HiExpansionPanel =
|
107
118
|
/*#__PURE__*/
|
package/HiForm/HiInput.js
CHANGED
@@ -341,7 +341,8 @@ function (_React$PureComponent) {
|
|
341
341
|
inputClassName = _this$props.inputClassName,
|
342
342
|
onReset = _this$props.onReset,
|
343
343
|
spellcheck = _this$props.spellcheck,
|
344
|
-
startAdornmentColor = _this$props.startAdornmentColor
|
344
|
+
startAdornmentColor = _this$props.startAdornmentColor,
|
345
|
+
inputProps = _this$props.inputProps;
|
345
346
|
var focused = this.state.focused;
|
346
347
|
var overlayProps = (0, _extends2.default)({
|
347
348
|
className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled && !error), (0, _defineProperty2.default)(_classNames, classes.inkbar, !disabled), (0, _defineProperty2.default)(_classNames, classes.focused, focused), (0, _defineProperty2.default)(_classNames, classes.error, error), _classNames), className)
|
@@ -420,10 +421,10 @@ function (_React$PureComponent) {
|
|
420
421
|
_this2.endAdornmentNode = el;
|
421
422
|
}
|
422
423
|
}, eraseIcon, endAdornment),
|
423
|
-
inputProps: {
|
424
|
+
inputProps: (0, _extends2.default)({
|
424
425
|
spellCheck: spellcheck ? "true" : "false",
|
425
426
|
className: (0, _classnames.default)(inputClassName, classes.inputPropsClassName, (_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, classes.inputText, !multiline), (0, _defineProperty2.default)(_classNames4, classes.inputTextArea, multiline), _classNames4))
|
426
|
-
}
|
427
|
+
}, inputProps)
|
427
428
|
}));
|
428
429
|
}
|
429
430
|
}], [{
|
@@ -509,6 +510,11 @@ HiInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
509
510
|
*/
|
510
511
|
inputId: _propTypes.default.string,
|
511
512
|
|
513
|
+
/**
|
514
|
+
* Passe des props directement à l'input
|
515
|
+
*/
|
516
|
+
inputProps: _propTypes.default.object,
|
517
|
+
|
512
518
|
/**
|
513
519
|
* Passe une ref callback au composant input
|
514
520
|
*/
|
package/HiSelect/HiSelect.js
CHANGED
@@ -510,11 +510,28 @@ function (_React$PureComponent) {
|
|
510
510
|
this.inputEl.focus();
|
511
511
|
}
|
512
512
|
}
|
513
|
+
}, {
|
514
|
+
key: "getLengthItemList",
|
515
|
+
value: function getLengthItemList(itemList) {
|
516
|
+
var _this2 = this;
|
517
|
+
|
518
|
+
var itemListLength = 0;
|
519
|
+
itemList.forEach(function (parent) {
|
520
|
+
if (parent.displayed && itemListLength < 10) {
|
521
|
+
itemListLength += 1;
|
522
|
+
|
523
|
+
if (parent.children && itemListLength < 10) {
|
524
|
+
itemListLength += _this2.getLengthItemList(parent.children);
|
525
|
+
}
|
526
|
+
}
|
527
|
+
});
|
528
|
+
return itemListLength;
|
529
|
+
}
|
513
530
|
}, {
|
514
531
|
key: "render",
|
515
532
|
value: function render() {
|
516
533
|
var _classNames,
|
517
|
-
|
534
|
+
_this3 = this;
|
518
535
|
|
519
536
|
var _this$props4 = this.props,
|
520
537
|
classes = _this$props4.classes,
|
@@ -581,10 +598,10 @@ function (_React$PureComponent) {
|
|
581
598
|
return _react.default.createElement(_HiInput.default, (0, _extends2.default)({
|
582
599
|
value: searchValue,
|
583
600
|
autoFocus: true,
|
584
|
-
inputRef:
|
585
|
-
onKeyDown:
|
586
|
-
onChange:
|
587
|
-
onReset:
|
601
|
+
inputRef: _this3.getInputElement,
|
602
|
+
onKeyDown: _this3.handleKeyDownSearch,
|
603
|
+
onChange: _this3.handleSearch,
|
604
|
+
onReset: _this3.handleSearchReset,
|
588
605
|
placeholder: translations.search,
|
589
606
|
startAdornment: 'search',
|
590
607
|
tabIndex: 0,
|
@@ -597,8 +614,10 @@ function (_React$PureComponent) {
|
|
597
614
|
|
598
615
|
|
599
616
|
if (this.placement && this.placement.indexOf('top') >= 0 && !!searchable) {
|
600
|
-
//
|
601
|
-
var
|
617
|
+
// In case we have a nested list
|
618
|
+
var itemListLength = this.getLengthItemList(itemList); // +1 for search input
|
619
|
+
|
620
|
+
var nbItems = itemListLength <= 10 ? itemListLength + 1 : 11;
|
602
621
|
popperStyle.transform = "translate3d(-1px, -".concat(nbItems * 40 + 2, "px, 0px)");
|
603
622
|
} else if (this.placement && this.placement.indexOf('top') < 0 && !!searchable) {
|
604
623
|
popperStyle.transform = 'translate3d(-1px, 40px, 0px)';
|
@@ -607,12 +626,12 @@ function (_React$PureComponent) {
|
|
607
626
|
var content = function content(_ref) {
|
608
627
|
var placement = _ref.placement;
|
609
628
|
|
610
|
-
if (placement !==
|
611
|
-
|
629
|
+
if (placement !== _this3.placement) {
|
630
|
+
_this3.placement = placement;
|
612
631
|
}
|
613
632
|
|
614
633
|
return _react.default.createElement(_ClickAwayListener.default, {
|
615
|
-
onClickAway:
|
634
|
+
onClickAway: _this3.handleClickAway
|
616
635
|
}, _react.default.createElement(_Grow.default, {
|
617
636
|
in: open,
|
618
637
|
id: "menu-list",
|
@@ -621,29 +640,29 @@ function (_React$PureComponent) {
|
|
621
640
|
}
|
622
641
|
}, _react.default.createElement(_Paper.default, {
|
623
642
|
className: classes.paper
|
624
|
-
}, (
|
643
|
+
}, (_this3.placement && _this3.placement.indexOf('bottom') >= 0 || staticPosition) && searchInput('bottom'), startAdornment, _react.default.createElement(_reactCustomScrollbars.default, (0, _extends2.default)({
|
625
644
|
ref: function ref(contentEl) {
|
626
|
-
|
645
|
+
_this3.optionsContent = contentEl;
|
627
646
|
},
|
628
647
|
autoHeight: true,
|
629
648
|
autoHeightMax: 430
|
630
649
|
}, onScrollReachBottom && {
|
631
|
-
onScroll:
|
650
|
+
onScroll: _this3.handleScroll
|
632
651
|
}), _react.default.createElement(_HiSelectableList.default, (0, _extends2.default)({
|
633
652
|
type: type,
|
634
653
|
itemList: itemList,
|
635
|
-
onSelect:
|
654
|
+
onSelect: _this3.handleSelect,
|
636
655
|
selectedItemIdList: selectedItemIdList,
|
637
|
-
fallbackImage:
|
638
|
-
overlay:
|
656
|
+
fallbackImage: _this3.props.fallbackImage,
|
657
|
+
overlay: _this3.overlay,
|
639
658
|
value: value
|
640
|
-
}, hiSelectableListProps))),
|
659
|
+
}, hiSelectableListProps))), _this3.placement && _this3.placement.indexOf('top') >= 0 && !staticPosition && searchInput('top'))));
|
641
660
|
};
|
642
661
|
|
643
662
|
return _react.default.createElement("div", {
|
644
663
|
className: classes.root,
|
645
664
|
ref: function ref(el) {
|
646
|
-
|
665
|
+
_this3.overlay = el;
|
647
666
|
},
|
648
667
|
onKeyDown: this.handleKeyDown,
|
649
668
|
onKeyDownCapture: this.handleKeyDownCapture
|
@@ -666,7 +685,7 @@ function (_React$PureComponent) {
|
|
666
685
|
placeholder: placeholder
|
667
686
|
}, hiSelectInputProps, {
|
668
687
|
refElement: function refElement(el) {
|
669
|
-
|
688
|
+
_this3.inputEl = el;
|
670
689
|
}
|
671
690
|
})), open && staticPosition ? _react.default.createElement("div", {
|
672
691
|
style: popperStyle,
|
@@ -7,7 +7,7 @@ import PropTypes from 'prop-types';
|
|
7
7
|
import ExpansionPanel from '@material-ui/core/ExpansionPanel';
|
8
8
|
import ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';
|
9
9
|
import ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';
|
10
|
-
import
|
10
|
+
import HiIcon from './../HiIcon';
|
11
11
|
import withStyles from '../styles/withStyles';
|
12
12
|
import classNames from 'classnames';
|
13
13
|
export const styles = theme => ({
|
@@ -33,20 +33,28 @@ export const styles = theme => ({
|
|
33
33
|
pointerEvents: 'none'
|
34
34
|
},
|
35
35
|
heading: _objectSpread({}, theme.typography.b1, {
|
36
|
+
height: 48,
|
37
|
+
display: 'flex',
|
38
|
+
alignItems: 'center',
|
36
39
|
fontSize: 20,
|
37
40
|
lineHeight: '24px',
|
38
41
|
fontWeight: theme.typography.fontWeightLight
|
39
42
|
}),
|
40
43
|
secondaryHeading: _objectSpread({}, theme.typography.b3, {
|
41
44
|
color: theme.palette.neutral.light,
|
45
|
+
height: 48,
|
46
|
+
display: 'flex',
|
47
|
+
alignItems: 'center',
|
42
48
|
fontSize: 11,
|
43
49
|
lineHeight: '24px',
|
44
50
|
float: 'right',
|
45
51
|
marginRight: 32,
|
46
52
|
'&>svg': {
|
47
53
|
fontSize: 18,
|
48
|
-
marginLeft: 3
|
49
|
-
|
54
|
+
marginLeft: 3
|
55
|
+
},
|
56
|
+
"&>button": {
|
57
|
+
marginRight: -12
|
50
58
|
}
|
51
59
|
}),
|
52
60
|
panel: {
|
@@ -67,7 +75,10 @@ export const styles = theme => ({
|
|
67
75
|
}
|
68
76
|
});
|
69
77
|
|
70
|
-
var _ref = React.createElement(
|
78
|
+
var _ref = React.createElement(HiIcon, {
|
79
|
+
icon: "mdi_menu_up",
|
80
|
+
size: 24
|
81
|
+
});
|
71
82
|
|
72
83
|
class HiExpansionPanel extends React.PureComponent {
|
73
84
|
render() {
|
package/es/HiForm/HiInput.js
CHANGED
@@ -292,7 +292,8 @@ class HiInput extends React.PureComponent {
|
|
292
292
|
inputClassName,
|
293
293
|
onReset,
|
294
294
|
spellcheck,
|
295
|
-
startAdornmentColor
|
295
|
+
startAdornmentColor,
|
296
|
+
inputProps
|
296
297
|
} = this.props;
|
297
298
|
const {
|
298
299
|
focused
|
@@ -385,13 +386,13 @@ class HiInput extends React.PureComponent {
|
|
385
386
|
this.endAdornmentNode = el;
|
386
387
|
}
|
387
388
|
}, eraseIcon, endAdornment),
|
388
|
-
inputProps: {
|
389
|
+
inputProps: _objectSpread({
|
389
390
|
spellCheck: spellcheck ? "true" : "false",
|
390
391
|
className: classNames(inputClassName, classes.inputPropsClassName, {
|
391
392
|
[classes.inputText]: !multiline,
|
392
393
|
[classes.inputTextArea]: multiline
|
393
394
|
})
|
394
|
-
}
|
395
|
+
}, inputProps)
|
395
396
|
}));
|
396
397
|
}
|
397
398
|
|
@@ -465,6 +466,11 @@ HiInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
465
466
|
*/
|
466
467
|
inputId: PropTypes.string,
|
467
468
|
|
469
|
+
/**
|
470
|
+
* Passe des props directement à l'input
|
471
|
+
*/
|
472
|
+
inputProps: PropTypes.object,
|
473
|
+
|
468
474
|
/**
|
469
475
|
* Passe une ref callback au composant input
|
470
476
|
*/
|
package/es/HiSelect/HiSelect.js
CHANGED
@@ -432,6 +432,12 @@ class HiSelect extends React.PureComponent {
|
|
432
432
|
this.getInputElement = this.getInputElement.bind(this);
|
433
433
|
}
|
434
434
|
|
435
|
+
componentDidMount() {
|
436
|
+
if (this.props.autoFocus) {
|
437
|
+
this.inputEl.focus();
|
438
|
+
}
|
439
|
+
}
|
440
|
+
|
435
441
|
static getDerivedStateFromProps(nextProps, prevState) {
|
436
442
|
if (nextProps.options !== prevState.suggestions) {
|
437
443
|
return _objectSpread({}, prevState, {
|
@@ -451,10 +457,18 @@ class HiSelect extends React.PureComponent {
|
|
451
457
|
*/
|
452
458
|
|
453
459
|
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
460
|
+
getLengthItemList(itemList) {
|
461
|
+
let itemListLength = 0;
|
462
|
+
itemList.forEach(parent => {
|
463
|
+
if (parent.displayed && itemListLength < 10) {
|
464
|
+
itemListLength += 1;
|
465
|
+
|
466
|
+
if (parent.children && itemListLength < 10) {
|
467
|
+
itemListLength += this.getLengthItemList(parent.children);
|
468
|
+
}
|
469
|
+
}
|
470
|
+
});
|
471
|
+
return itemListLength;
|
458
472
|
}
|
459
473
|
|
460
474
|
render() {
|
@@ -544,8 +558,10 @@ class HiSelect extends React.PureComponent {
|
|
544
558
|
|
545
559
|
|
546
560
|
if (this.placement && this.placement.indexOf('top') >= 0 && !!searchable) {
|
547
|
-
//
|
548
|
-
const
|
561
|
+
// In case we have a nested list
|
562
|
+
const itemListLength = this.getLengthItemList(itemList); // +1 for search input
|
563
|
+
|
564
|
+
const nbItems = itemListLength <= 10 ? itemListLength + 1 : 11;
|
549
565
|
popperStyle.transform = `translate3d(-1px, -${nbItems * 40 + 2}px, 0px)`;
|
550
566
|
} else if (this.placement && this.placement.indexOf('top') < 0 && !!searchable) {
|
551
567
|
popperStyle.transform = 'translate3d(-1px, 40px, 0px)';
|
@@ -107,9 +107,9 @@ class HiSelectableList extends React.PureComponent {
|
|
107
107
|
overflow: true,
|
108
108
|
placeholder: placeholderContent
|
109
109
|
}, itemComponent);
|
110
|
-
} else {
|
111
|
-
return itemComponent;
|
112
110
|
}
|
111
|
+
|
112
|
+
return itemComponent;
|
113
113
|
};
|
114
114
|
|
115
115
|
this.compareItem = (a, b) => {
|
package/index.es.js
CHANGED
package/index.js
CHANGED
package/package.json
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/** @license HiPay-Material-UI v2.0.0-beta.
|
1
|
+
/** @license HiPay-Material-UI v2.0.0-beta.69
|
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.
|
@@ -72923,7 +72923,8 @@
|
|
72923
72923
|
inputClassName = _this$props.inputClassName,
|
72924
72924
|
onReset = _this$props.onReset,
|
72925
72925
|
spellcheck = _this$props.spellcheck,
|
72926
|
-
startAdornmentColor = _this$props.startAdornmentColor
|
72926
|
+
startAdornmentColor = _this$props.startAdornmentColor,
|
72927
|
+
inputProps = _this$props.inputProps;
|
72927
72928
|
var focused = this.state.focused;
|
72928
72929
|
|
72929
72930
|
var overlayProps = _extends_1({
|
@@ -73003,10 +73004,10 @@
|
|
73003
73004
|
_this2.endAdornmentNode = el;
|
73004
73005
|
}
|
73005
73006
|
}, eraseIcon, endAdornment),
|
73006
|
-
inputProps: {
|
73007
|
+
inputProps: _extends_1({
|
73007
73008
|
spellCheck: spellcheck ? "true" : "false",
|
73008
73009
|
className: classnames(inputClassName, classes.inputPropsClassName, (_classNames4 = {}, defineProperty(_classNames4, classes.inputText, !multiline), defineProperty(_classNames4, classes.inputTextArea, multiline), _classNames4))
|
73009
|
-
}
|
73010
|
+
}, inputProps)
|
73010
73011
|
}));
|
73011
73012
|
}
|
73012
73013
|
}], [{
|
@@ -73093,6 +73094,11 @@
|
|
73093
73094
|
*/
|
73094
73095
|
inputId: propTypes.string,
|
73095
73096
|
|
73097
|
+
/**
|
73098
|
+
* Passe des props directement à l'input
|
73099
|
+
*/
|
73100
|
+
inputProps: propTypes.object,
|
73101
|
+
|
73096
73102
|
/**
|
73097
73103
|
* Passe une ref callback au composant input
|
73098
73104
|
*/
|
@@ -80183,9 +80189,9 @@
|
|
80183
80189
|
overflow: true,
|
80184
80190
|
placeholder: placeholderContent
|
80185
80191
|
}, itemComponent);
|
80186
|
-
} else {
|
80187
|
-
return itemComponent;
|
80188
80192
|
}
|
80193
|
+
|
80194
|
+
return itemComponent;
|
80189
80195
|
};
|
80190
80196
|
|
80191
80197
|
_this.compareItem = function (a, b) {
|
@@ -108961,11 +108967,28 @@
|
|
108961
108967
|
this.inputEl.focus();
|
108962
108968
|
}
|
108963
108969
|
}
|
108970
|
+
}, {
|
108971
|
+
key: "getLengthItemList",
|
108972
|
+
value: function getLengthItemList(itemList) {
|
108973
|
+
var _this2 = this;
|
108974
|
+
|
108975
|
+
var itemListLength = 0;
|
108976
|
+
itemList.forEach(function (parent) {
|
108977
|
+
if (parent.displayed && itemListLength < 10) {
|
108978
|
+
itemListLength += 1;
|
108979
|
+
|
108980
|
+
if (parent.children && itemListLength < 10) {
|
108981
|
+
itemListLength += _this2.getLengthItemList(parent.children);
|
108982
|
+
}
|
108983
|
+
}
|
108984
|
+
});
|
108985
|
+
return itemListLength;
|
108986
|
+
}
|
108964
108987
|
}, {
|
108965
108988
|
key: "render",
|
108966
108989
|
value: function render() {
|
108967
108990
|
var _classNames,
|
108968
|
-
|
108991
|
+
_this3 = this;
|
108969
108992
|
|
108970
108993
|
var _this$props4 = this.props,
|
108971
108994
|
classes = _this$props4.classes,
|
@@ -109032,10 +109055,10 @@
|
|
109032
109055
|
return React.createElement(HiInput$1, _extends_1({
|
109033
109056
|
value: searchValue,
|
109034
109057
|
autoFocus: true,
|
109035
|
-
inputRef:
|
109036
|
-
onKeyDown:
|
109037
|
-
onChange:
|
109038
|
-
onReset:
|
109058
|
+
inputRef: _this3.getInputElement,
|
109059
|
+
onKeyDown: _this3.handleKeyDownSearch,
|
109060
|
+
onChange: _this3.handleSearch,
|
109061
|
+
onReset: _this3.handleSearchReset,
|
109039
109062
|
placeholder: translations.search,
|
109040
109063
|
startAdornment: 'search',
|
109041
109064
|
tabIndex: 0,
|
@@ -109048,8 +109071,10 @@
|
|
109048
109071
|
|
109049
109072
|
|
109050
109073
|
if (this.placement && this.placement.indexOf('top') >= 0 && !!searchable) {
|
109051
|
-
//
|
109052
|
-
var
|
109074
|
+
// In case we have a nested list
|
109075
|
+
var itemListLength = this.getLengthItemList(itemList); // +1 for search input
|
109076
|
+
|
109077
|
+
var nbItems = itemListLength <= 10 ? itemListLength + 1 : 11;
|
109053
109078
|
popperStyle.transform = "translate3d(-1px, -".concat(nbItems * 40 + 2, "px, 0px)");
|
109054
109079
|
} else if (this.placement && this.placement.indexOf('top') < 0 && !!searchable) {
|
109055
109080
|
popperStyle.transform = 'translate3d(-1px, 40px, 0px)';
|
@@ -109058,12 +109083,12 @@
|
|
109058
109083
|
var content = function content(_ref) {
|
109059
109084
|
var placement = _ref.placement;
|
109060
109085
|
|
109061
|
-
if (placement !==
|
109062
|
-
|
109086
|
+
if (placement !== _this3.placement) {
|
109087
|
+
_this3.placement = placement;
|
109063
109088
|
}
|
109064
109089
|
|
109065
109090
|
return React.createElement(ClickAwayListener$2, {
|
109066
|
-
onClickAway:
|
109091
|
+
onClickAway: _this3.handleClickAway
|
109067
109092
|
}, React.createElement(Grow$2, {
|
109068
109093
|
in: open,
|
109069
109094
|
id: "menu-list",
|
@@ -109072,29 +109097,29 @@
|
|
109072
109097
|
}
|
109073
109098
|
}, React.createElement(Paper$2, {
|
109074
109099
|
className: classes.paper
|
109075
|
-
}, (
|
109100
|
+
}, (_this3.placement && _this3.placement.indexOf('bottom') >= 0 || staticPosition) && searchInput('bottom'), startAdornment, React.createElement(Scrollbars, _extends_1({
|
109076
109101
|
ref: function ref(contentEl) {
|
109077
|
-
|
109102
|
+
_this3.optionsContent = contentEl;
|
109078
109103
|
},
|
109079
109104
|
autoHeight: true,
|
109080
109105
|
autoHeightMax: 430
|
109081
109106
|
}, onScrollReachBottom && {
|
109082
|
-
onScroll:
|
109107
|
+
onScroll: _this3.handleScroll
|
109083
109108
|
}), React.createElement(HiSelectableList$1, _extends_1({
|
109084
109109
|
type: type,
|
109085
109110
|
itemList: itemList,
|
109086
|
-
onSelect:
|
109111
|
+
onSelect: _this3.handleSelect,
|
109087
109112
|
selectedItemIdList: selectedItemIdList,
|
109088
|
-
fallbackImage:
|
109089
|
-
overlay:
|
109113
|
+
fallbackImage: _this3.props.fallbackImage,
|
109114
|
+
overlay: _this3.overlay,
|
109090
109115
|
value: value
|
109091
|
-
}, hiSelectableListProps))),
|
109116
|
+
}, hiSelectableListProps))), _this3.placement && _this3.placement.indexOf('top') >= 0 && !staticPosition && searchInput('top'))));
|
109092
109117
|
};
|
109093
109118
|
|
109094
109119
|
return React.createElement("div", {
|
109095
109120
|
className: classes.root,
|
109096
109121
|
ref: function ref(el) {
|
109097
|
-
|
109122
|
+
_this3.overlay = el;
|
109098
109123
|
},
|
109099
109124
|
onKeyDown: this.handleKeyDown,
|
109100
109125
|
onKeyDownCapture: this.handleKeyDownCapture
|
@@ -109117,7 +109142,7 @@
|
|
109117
109142
|
placeholder: placeholder
|
109118
109143
|
}, hiSelectInputProps, {
|
109119
109144
|
refElement: function refElement(el) {
|
109120
|
-
|
109145
|
+
_this3.inputEl = el;
|
109121
109146
|
}
|
109122
109147
|
})), open && staticPosition ? React.createElement("div", {
|
109123
109148
|
style: popperStyle,
|