@hipay/hipay-material-ui 2.0.0-beta.65 → 2.0.0-beta.68
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/CHANGELOG.md +75 -0
- package/HiAlertModal/HiAlertModal.js +29 -29
- package/HiBreadcrumb/HiBreadcrumb.js +5 -4
- package/HiExpansionPanel/HiExpansionPanel.js +41 -9
- package/HiForm/HiUpload.js +2 -2
- package/HiSelect/HiSelect.js +7 -1
- package/HiSelectableList/HiSelectableList.js +53 -7
- package/HiTable/HiTableRow.js +2 -2
- package/README.md +9 -1
- package/es/HiAlertModal/HiAlertModal.js +28 -29
- package/es/HiBreadcrumb/HiBreadcrumb.js +5 -4
- package/es/HiExpansionPanel/HiExpansionPanel.js +41 -10
- package/es/HiForm/HiUpload.js +2 -2
- package/es/HiSelect/HiSelect.js +7 -1
- package/es/HiSelectableList/HiSelectableList.js +47 -6
- package/es/HiTable/HiTableRow.js +2 -2
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +4 -5
- package/umd/hipay-material-ui.development.js +37074 -40157
- package/umd/hipay-material-ui.production.min.js +2 -2
@@ -28,16 +28,17 @@ class HiBreadcrumb extends React.PureComponent {
|
|
28
28
|
}, React.createElement("div", null, steps.map((step, index) => {
|
29
29
|
const validConnector = step.status === 'validated' && index < steps.length - 1 && (steps[index + 1].status === 'validated' || steps[index + 1].status === 'active');
|
30
30
|
return React.createElement(HiStep, {
|
31
|
-
index:
|
31
|
+
index: step.id,
|
32
32
|
content: step.content,
|
33
33
|
key: step.id,
|
34
|
-
onClick: this.handleStep(
|
34
|
+
onClick: this.handleStep(step.id),
|
35
35
|
isLast: index === steps.length - 1,
|
36
36
|
validConnector: validConnector,
|
37
37
|
type: type,
|
38
|
-
steps: steps
|
38
|
+
steps: steps,
|
39
|
+
active: activeStep === step.id
|
39
40
|
}, React.createElement(HiStepLabel, {
|
40
|
-
active: activeStep ===
|
41
|
+
active: activeStep === step.id,
|
41
42
|
status: step.status,
|
42
43
|
notificationNumber: step.notificationNumber,
|
43
44
|
type: type,
|
@@ -9,15 +9,28 @@ import ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';
|
|
9
9
|
import ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';
|
10
10
|
import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
|
11
11
|
import withStyles from '../styles/withStyles';
|
12
|
+
import classNames from 'classnames';
|
12
13
|
export const styles = theme => ({
|
13
14
|
summaryContent: {
|
14
15
|
display: 'inline-block',
|
15
|
-
border: 'none'
|
16
|
+
border: 'none',
|
17
|
+
'&$expanded': {
|
18
|
+
margin: 'initial'
|
19
|
+
}
|
16
20
|
},
|
17
21
|
summaryRoot: {
|
18
22
|
borderBottom: '1px solid #E3E6E7',
|
19
23
|
height: 48,
|
20
|
-
minHeight: 48
|
24
|
+
minHeight: 48,
|
25
|
+
padding: '0 0 0 8px',
|
26
|
+
'&$expanded': {
|
27
|
+
minHeight: 48
|
28
|
+
}
|
29
|
+
},
|
30
|
+
expanded: {},
|
31
|
+
collapseDisable: {
|
32
|
+
cursor: 'default',
|
33
|
+
pointerEvents: 'none'
|
21
34
|
},
|
22
35
|
heading: _objectSpread({}, theme.typography.b1, {
|
23
36
|
fontSize: 20,
|
@@ -29,7 +42,7 @@ export const styles = theme => ({
|
|
29
42
|
fontSize: 11,
|
30
43
|
lineHeight: '24px',
|
31
44
|
float: 'right',
|
32
|
-
marginRight:
|
45
|
+
marginRight: 32,
|
33
46
|
'&>svg': {
|
34
47
|
fontSize: 18,
|
35
48
|
marginLeft: 3,
|
@@ -41,11 +54,16 @@ export const styles = theme => ({
|
|
41
54
|
border: 'none'
|
42
55
|
},
|
43
56
|
panelDetails: {
|
44
|
-
padding:
|
57
|
+
padding: 0
|
45
58
|
},
|
46
59
|
disabledPanel: {
|
47
60
|
backgroundColor: '#ffffff',
|
48
61
|
opacity: 1
|
62
|
+
},
|
63
|
+
expandIcon: {
|
64
|
+
width: 24,
|
65
|
+
height: 24,
|
66
|
+
right: 0
|
49
67
|
}
|
50
68
|
});
|
51
69
|
|
@@ -60,10 +78,12 @@ class HiExpansionPanel extends React.PureComponent {
|
|
60
78
|
secondaryHeading,
|
61
79
|
secondaryHeadingDisabled,
|
62
80
|
secondaryHeadingIcon,
|
81
|
+
collapseDisable,
|
63
82
|
children,
|
64
|
-
classes
|
83
|
+
classes,
|
84
|
+
expanded
|
65
85
|
} = _this$props,
|
66
|
-
props = _objectWithoutProperties(_this$props, ["disabled", "heading", "secondaryHeading", "secondaryHeadingDisabled", "secondaryHeadingIcon", "children", "classes"]);
|
86
|
+
props = _objectWithoutProperties(_this$props, ["disabled", "heading", "secondaryHeading", "secondaryHeadingDisabled", "secondaryHeadingIcon", "collapseDisable", "children", "classes", "expanded"]);
|
67
87
|
|
68
88
|
const effectiveDisabled = disabled || !children;
|
69
89
|
return React.createElement(ExpansionPanel, _extends({
|
@@ -71,13 +91,19 @@ class HiExpansionPanel extends React.PureComponent {
|
|
71
91
|
classes: {
|
72
92
|
root: classes.panel,
|
73
93
|
disabled: classes.disabledPanel
|
74
|
-
}
|
94
|
+
},
|
95
|
+
expanded: collapseDisable || expanded
|
75
96
|
}, props), React.createElement(ExpansionPanelSummary, {
|
76
97
|
classes: {
|
77
98
|
root: classes.summaryRoot,
|
78
|
-
content: classes.summaryContent
|
99
|
+
content: classes.summaryContent,
|
100
|
+
expanded: classes.expanded,
|
101
|
+
expandIcon: classes.expandIcon
|
79
102
|
},
|
80
|
-
|
103
|
+
className: classNames({
|
104
|
+
[classes.collapseDisable]: collapseDisable
|
105
|
+
}),
|
106
|
+
expandIcon: !collapseDisable && _ref
|
81
107
|
}, React.createElement("div", {
|
82
108
|
className: classes.secondaryHeading
|
83
109
|
}, !effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled, secondaryHeadingIcon), React.createElement("div", {
|
@@ -129,7 +155,12 @@ HiExpansionPanel.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
129
155
|
/**
|
130
156
|
* Icone dans le titre secondaire du panel
|
131
157
|
*/
|
132
|
-
secondaryHeadingIcon: PropTypes.any
|
158
|
+
secondaryHeadingIcon: PropTypes.any,
|
159
|
+
|
160
|
+
/**
|
161
|
+
* Désactive l'action d'ouverture et de fermeture du composant
|
162
|
+
*/
|
163
|
+
collapseDisable: PropTypes.bool
|
133
164
|
} : {};
|
134
165
|
export default withStyles(styles, {
|
135
166
|
hiComponent: true,
|
package/es/HiForm/HiUpload.js
CHANGED
@@ -361,9 +361,9 @@ HiUpload.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
361
361
|
helperText: PropTypes.string,
|
362
362
|
|
363
363
|
/**
|
364
|
-
*
|
364
|
+
* Identifiant unique
|
365
365
|
*/
|
366
|
-
id: PropTypes.string
|
366
|
+
id: PropTypes.string,
|
367
367
|
|
368
368
|
/**
|
369
369
|
* Array containing each of the inputs the component has to show (represented by an object).
|
package/es/HiSelect/HiSelect.js
CHANGED
@@ -209,6 +209,12 @@ class HiSelect extends React.PureComponent {
|
|
209
209
|
if (!this.props.searchable) {
|
210
210
|
// Sinon focus sur l'élément sélectionné
|
211
211
|
this.focusOnSelectedItem(this.props.value);
|
212
|
+
} else {
|
213
|
+
if (this.searchField) {
|
214
|
+
setTimeout(() => {
|
215
|
+
this.searchField.focus();
|
216
|
+
}, 1);
|
217
|
+
}
|
212
218
|
}
|
213
219
|
}
|
214
220
|
};
|
@@ -285,7 +291,7 @@ class HiSelect extends React.PureComponent {
|
|
285
291
|
this.handleClose();
|
286
292
|
}
|
287
293
|
}
|
288
|
-
} else if (key === 'space') {
|
294
|
+
} else if (key === 'space' && event.target !== this.searchField) {
|
289
295
|
event.preventDefault();
|
290
296
|
|
291
297
|
if (this.state.open) {
|
@@ -7,6 +7,7 @@ import withStyles from '../styles/withStyles';
|
|
7
7
|
import HiSelectableListItem from './HiSelectableListItem';
|
8
8
|
import { getNextItemSelectable, foldAccents } from '../utils/helpers';
|
9
9
|
import keycode from 'keycode';
|
10
|
+
import LazyLoad, { forceCheck } from 'react-lazyload';
|
10
11
|
export const styles = () => ({
|
11
12
|
root: {
|
12
13
|
padding: 0
|
@@ -52,18 +53,35 @@ class HiSelectableList extends React.PureComponent {
|
|
52
53
|
hideCheckbox,
|
53
54
|
hoverIcon,
|
54
55
|
icon,
|
56
|
+
lazy,
|
55
57
|
selectedItemIdList,
|
56
58
|
sort,
|
57
59
|
onKeyDown,
|
58
60
|
onKeyUp
|
59
61
|
} = _this$props,
|
60
|
-
others = _objectWithoutProperties(_this$props, ["checkedIcon", "disabled", "disabledItemIdList", "hideCheckbox", "hoverIcon", "icon", "selectedItemIdList", "sort", "onKeyDown", "onKeyUp"]);
|
62
|
+
others = _objectWithoutProperties(_this$props, ["checkedIcon", "disabled", "disabledItemIdList", "hideCheckbox", "hoverIcon", "icon", "lazy", "selectedItemIdList", "sort", "onKeyDown", "onKeyUp"]);
|
61
63
|
|
62
64
|
if (sort && item.children) {
|
63
65
|
item.children.sort(this.compareItem);
|
64
66
|
}
|
65
67
|
|
66
|
-
|
68
|
+
const placeholderContent = React.createElement("div", {
|
69
|
+
style: {
|
70
|
+
width: '90%',
|
71
|
+
padding: '8px 6px',
|
72
|
+
height: 40,
|
73
|
+
position: 'sticky',
|
74
|
+
left: 0
|
75
|
+
}
|
76
|
+
}, React.createElement("div", {
|
77
|
+
style: {
|
78
|
+
backgroundColor: '#F5F5F5',
|
79
|
+
width: '100%',
|
80
|
+
height: '100%',
|
81
|
+
borderRadius: 4
|
82
|
+
}
|
83
|
+
}));
|
84
|
+
const itemComponent = React.createElement(React.Fragment, {
|
67
85
|
key: item.id
|
68
86
|
}, React.createElement(HiSelectableListItem, _extends({}, others, {
|
69
87
|
checkedIcon: checkedIcon,
|
@@ -79,6 +97,19 @@ class HiSelectableList extends React.PureComponent {
|
|
79
97
|
,
|
80
98
|
item: item
|
81
99
|
}, item)), item.children && item.children.length > 0 && item.children.filter(subItem => !(subItem.displayed === false)).map(subItem => this.buildRecursiveListItem(subItem, level + 1)));
|
100
|
+
|
101
|
+
if (lazy) {
|
102
|
+
return React.createElement(LazyLoad, {
|
103
|
+
key: item.id,
|
104
|
+
height: 40,
|
105
|
+
offset: 400,
|
106
|
+
once: true,
|
107
|
+
overflow: true,
|
108
|
+
placeholder: placeholderContent
|
109
|
+
}, itemComponent);
|
110
|
+
} else {
|
111
|
+
return itemComponent;
|
112
|
+
}
|
82
113
|
};
|
83
114
|
|
84
115
|
this.compareItem = (a, b) => {
|
@@ -107,9 +138,8 @@ class HiSelectableList extends React.PureComponent {
|
|
107
138
|
componentDidMount() {
|
108
139
|
// Focus on last item selected
|
109
140
|
if (this.props.overlay && this.props.overlay.getElementsByTagName('li')[0]) {
|
110
|
-
|
111
|
-
|
112
|
-
if (this.props.value) {
|
141
|
+
if (Array.isArray(this.props.value) && this.props.value.length > 0 || !Array.isArray(this.props.value) && this.props.value) {
|
142
|
+
let item = this.props.overlay.getElementsByTagName('li')[0];
|
113
143
|
let lastSelectedValue = Array.isArray(this.props.value) ? this.props.value[this.props.value.length - 1] : this.props.value;
|
114
144
|
let index = 0;
|
115
145
|
this.props.itemList.forEach(option => {
|
@@ -129,9 +159,14 @@ class HiSelectableList extends React.PureComponent {
|
|
129
159
|
});
|
130
160
|
}
|
131
161
|
});
|
162
|
+
item && item.focus();
|
132
163
|
}
|
164
|
+
}
|
165
|
+
}
|
133
166
|
|
134
|
-
|
167
|
+
componentDidUpdate(prevProps) {
|
168
|
+
if (this.props.lazy && prevProps.itemList !== this.props.itemList) {
|
169
|
+
forceCheck();
|
135
170
|
}
|
136
171
|
}
|
137
172
|
|
@@ -163,6 +198,7 @@ HiSelectableList.defaultProps = {
|
|
163
198
|
disabled: false,
|
164
199
|
disabledItemIdList: [],
|
165
200
|
hideCheckbox: false,
|
201
|
+
lazy: true,
|
166
202
|
selectedItemIdList: [],
|
167
203
|
sort: false,
|
168
204
|
sortAppendList: ['_all']
|
@@ -218,6 +254,11 @@ HiSelectableList.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
218
254
|
*/
|
219
255
|
itemList: PropTypes.array.isRequired,
|
220
256
|
|
257
|
+
/**
|
258
|
+
* Active lazyloading on list items
|
259
|
+
*/
|
260
|
+
lazy: PropTypes.bool,
|
261
|
+
|
221
262
|
/**
|
222
263
|
* Fonction de callback à la sélection d'un item, renvoie l'item sélectionné
|
223
264
|
*
|
package/es/HiTable/HiTableRow.js
CHANGED
@@ -19,7 +19,7 @@ export const styles = theme => ({
|
|
19
19
|
backgroundColor: `${theme.palette.action.hover} !important`
|
20
20
|
}
|
21
21
|
},
|
22
|
-
|
22
|
+
clickableRow: {
|
23
23
|
cursor: 'pointer'
|
24
24
|
}
|
25
25
|
});
|
@@ -47,7 +47,7 @@ class HiTableRow extends React.PureComponent {
|
|
47
47
|
} = this.props;
|
48
48
|
return React.createElement(TableRow, {
|
49
49
|
className: classNames(classes.row, {
|
50
|
-
[classes.
|
50
|
+
[classes.clickableRow]: this.props.onClick
|
51
51
|
}),
|
52
52
|
hover: true,
|
53
53
|
onClick: event => this.handleClick(event, rowdata),
|
package/index.es.js
CHANGED
package/index.js
CHANGED
package/package.json
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hipay/hipay-material-ui",
|
3
|
+
"private": false,
|
3
4
|
"author": "HiPay PSYCHE Team",
|
4
|
-
"version": "2.0.0-beta.
|
5
|
+
"version": "2.0.0-beta.68",
|
5
6
|
"description": "React components that implement Google's Material Design.",
|
6
7
|
"keywords": [
|
7
8
|
"react",
|
@@ -57,6 +58,7 @@
|
|
57
58
|
"react-day-picker": "^7.2.4",
|
58
59
|
"react-event-listener": "^0.6.2",
|
59
60
|
"react-jss": "^8.1.0",
|
61
|
+
"react-lazyload": "^2.5.0",
|
60
62
|
"react-leaflet": "^2.1.0",
|
61
63
|
"react-pdf": "^3.0.5",
|
62
64
|
"react-spinners": "^0.4.5",
|
@@ -67,12 +69,9 @@
|
|
67
69
|
"warning": "^4.0.1"
|
68
70
|
},
|
69
71
|
"sideEffects": false,
|
70
|
-
"publishConfig": {
|
71
|
-
"access": "public"
|
72
|
-
},
|
73
72
|
"engines": {
|
74
73
|
"node": ">=6.0.0"
|
75
74
|
},
|
76
75
|
"main": "./index.js",
|
77
76
|
"module": "./index.es.js"
|
78
|
-
}
|
77
|
+
}
|