@hipay/hipay-material-ui 1.0.0-beta.13 → 1.0.0-beta.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. package/HiBreadcrumb/HiBreadcrumb.js +28 -22
  2. package/HiBreadcrumb/HiStep.js +96 -60
  3. package/HiBreadcrumb/HiStepConnector.js +91 -26
  4. package/HiBreadcrumb/HiStepContent.js +122 -0
  5. package/HiBreadcrumb/HiStepIcon.js +86 -29
  6. package/HiBreadcrumb/HiStepLabel.js +128 -62
  7. package/HiBreadcrumb/HiStepper.js +5 -24
  8. package/HiDatePicker/HiDateRangePicker.js +69 -28
  9. package/HiDatePicker/HiDateRangeSelector.js +14 -6
  10. package/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
  11. package/HiDatePicker/Overlays/Overlay.js +22 -4
  12. package/HiDatePicker/stylesheet.js +7 -0
  13. package/HiForm/HiInput.js +24 -11
  14. package/HiForm/HiSlider.js +399 -0
  15. package/HiForm/index.js +9 -0
  16. package/HiSelect/HiSelect.js +1 -1
  17. package/HiTable/BodyCellBuilder.js +3 -0
  18. package/HiTable/BodyCells/CellIcon.js +26 -19
  19. package/HiTable/BodyCells/CellImage.js +17 -13
  20. package/HiTable/BodyCells/CellNumeric.js +7 -2
  21. package/HiTable/BodyCells/CellSentinel.js +14 -13
  22. package/HiTable/BodyCells/CellThirdPartySecurity.js +43 -19
  23. package/HiTable/HeaderCell.js +3 -2
  24. package/es/HiBreadcrumb/HiBreadcrumb.js +27 -19
  25. package/es/HiBreadcrumb/HiStep.js +55 -54
  26. package/es/HiBreadcrumb/HiStepConnector.js +86 -26
  27. package/es/HiBreadcrumb/HiStepContent.js +63 -0
  28. package/es/HiBreadcrumb/HiStepIcon.js +103 -35
  29. package/es/HiBreadcrumb/HiStepLabel.js +106 -63
  30. package/es/HiBreadcrumb/HiStepper.js +5 -21
  31. package/es/HiDatePicker/HiDateRangePicker.js +65 -27
  32. package/es/HiDatePicker/HiDateRangeSelector.js +15 -7
  33. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
  34. package/es/HiDatePicker/Overlays/Overlay.js +18 -4
  35. package/es/HiDatePicker/stylesheet.js +7 -0
  36. package/es/HiForm/HiInput.js +19 -10
  37. package/es/HiForm/HiSlider.js +309 -0
  38. package/es/HiForm/index.js +1 -0
  39. package/es/HiSelect/HiSelect.js +1 -1
  40. package/es/HiTable/BodyCellBuilder.js +3 -0
  41. package/es/HiTable/BodyCells/CellIcon.js +15 -8
  42. package/es/HiTable/BodyCells/CellImage.js +16 -14
  43. package/es/HiTable/BodyCells/CellNumeric.js +6 -2
  44. package/es/HiTable/BodyCells/CellSentinel.js +8 -5
  45. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +40 -15
  46. package/es/HiTable/HeaderCell.js +3 -2
  47. package/es/utils/hiHelpers.js +4 -3
  48. package/index.es.js +1 -1
  49. package/index.js +1 -1
  50. package/package.json +43 -43
  51. package/umd/hipay-material-ui.development.js +7680 -7171
  52. package/umd/hipay-material-ui.production.min.js +5 -5
  53. package/utils/hiHelpers.js +4 -2
@@ -155,6 +155,7 @@ export default class BodyCellBuilder extends React.PureComponent {
155
155
  cellElement = React.createElement(CellIcon, {
156
156
  value: data.label ? data.label : data.value,
157
157
  icon: data.icon,
158
+ color: data.color,
158
159
  view: view,
159
160
  sticky: sticky
160
161
  });
@@ -164,6 +165,7 @@ export default class BodyCellBuilder extends React.PureComponent {
164
165
  cellElement = React.createElement(CellImage, {
165
166
  value: data.label ? data.label : data.value,
166
167
  path: data.img,
168
+ size: this.props.size,
167
169
  view: view,
168
170
  sticky: sticky
169
171
  });
@@ -173,6 +175,7 @@ export default class BodyCellBuilder extends React.PureComponent {
173
175
  cellElement = React.createElement(CellNumeric, {
174
176
  value: data.value,
175
177
  currency: data.currency,
178
+ precision: data.precision,
176
179
  locale: numberLocale,
177
180
  view: view,
178
181
  sticky: sticky
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
-
4
3
  import Tooltip from '../../Tooltip';
5
4
  import withStyles from '../../styles/withStyles';
6
5
  import * as cst from '../constants';
7
6
  import HiIconBuilder from '../../utils/HiIconBuilder';
8
7
 
9
- export const styles = theme => ({
8
+ export const styles = {
10
9
  icon: {
11
10
  float: 'left'
12
11
  },
@@ -17,8 +16,11 @@ export const styles = theme => ({
17
16
  whiteSpace: 'nowrap',
18
17
  overflow: 'hidden',
19
18
  textOverflow: 'ellipsis'
19
+ },
20
+ nowrap: {
21
+ whiteSpace: 'nowrap'
20
22
  }
21
- });
23
+ };
22
24
 
23
25
  /**
24
26
  * Cette cellule permet d'afficher une icône et un label (optionnel).
@@ -27,13 +29,13 @@ export const styles = theme => ({
27
29
  class CellIcon extends React.PureComponent {
28
30
 
29
31
  render() {
30
- const { classes, icon, value, view } = this.props;
32
+ const { classes, icon, value, view, color } = this.props;
31
33
 
32
- const iconElement = icon !== '' ? React.createElement(HiIconBuilder, { className: classes.icon, icon: icon, size: 18 }) : '';
34
+ const iconElement = icon !== '' ? React.createElement(HiIconBuilder, { color: color, className: classes.icon, icon: icon, size: 18 }) : '';
33
35
 
34
36
  const tooltipContent = React.createElement(
35
37
  'div',
36
- null,
38
+ { className: classes.nowrap },
37
39
  iconElement,
38
40
  React.createElement(
39
41
  'span',
@@ -61,7 +63,8 @@ class CellIcon extends React.PureComponent {
61
63
 
62
64
  CellIcon.defaultProps = {
63
65
  icon: '',
64
- view: 'l'
66
+ view: 'l',
67
+ color: '#000'
65
68
  };
66
69
  CellIcon.propTypes = process.env.NODE_ENV !== "production" ? {
67
70
  /**
@@ -69,7 +72,11 @@ CellIcon.propTypes = process.env.NODE_ENV !== "production" ? {
69
72
  */
70
73
  classes: PropTypes.object,
71
74
  /**
72
- * Icône name [from material-design-icons](https://materialdesignicons.com/)
75
+ * Couleur de l'icône
76
+ */
77
+ color: PropTypes.string.isRequired,
78
+ /**
79
+ * Icon name [from material-design-icons](https://materialdesignicons.com/)
73
80
  * used by HiIconBuilder
74
81
  */
75
82
  icon: PropTypes.string,
@@ -1,18 +1,15 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
-
4
3
  import Tooltip from '../../Tooltip';
5
4
  import withStyles from '../../styles/withStyles';
6
5
  import * as cst from '../constants';
7
6
 
8
7
  export const styles = theme => ({
9
8
  img: {
10
- width: 24,
11
9
  height: 'auto',
12
10
  float: 'left'
13
11
  },
14
12
  smallImg: {
15
- width: 24,
16
13
  height: 'auto'
17
14
  },
18
15
  label: {
@@ -21,20 +18,18 @@ export const styles = theme => ({
21
18
  tooltipImg: {
22
19
  width: 24,
23
20
  height: 'auto',
24
- float: 'left',
25
- marginTop: 2
21
+ float: 'left'
26
22
  },
27
23
  tooltipLabel: {
28
24
  marginLeft: 5,
29
- position: 'relative',
30
- bottom: 2,
31
25
  verticalAlign: 'middle'
32
-
33
26
  },
34
27
  wrapper: {
28
+ display: 'flex',
29
+ alignItems: 'center',
35
30
  whiteSpace: 'nowrap',
36
- overflow: "hidden",
37
- textOverflow: "ellipsis"
31
+ overflow: 'hidden',
32
+ textOverflow: 'ellipsis'
38
33
  },
39
34
  center: {
40
35
  textAlign: 'center'
@@ -53,12 +48,12 @@ export const styles = theme => ({
53
48
  class CellImage extends React.PureComponent {
54
49
 
55
50
  render() {
56
- const { classes, path, value, view } = this.props;
51
+ const { classes, path, value, view, size } = this.props;
57
52
 
58
53
  const tooltipContent = React.createElement(
59
54
  'div',
60
55
  { className: classes.tooltipContainer },
61
- React.createElement('img', { src: path, alt: value, className: classes.tooltipImg }),
56
+ React.createElement('img', { src: path, alt: value, className: classes.tooltipImg, width: size }),
62
57
  React.createElement(
63
58
  'span',
64
59
  { className: classes.tooltipLabel },
@@ -72,13 +67,13 @@ class CellImage extends React.PureComponent {
72
67
  innerCellElement = React.createElement(
73
68
  'div',
74
69
  { className: classes.center },
75
- React.createElement('img', { src: path, alt: value, className: classes.smallImg })
70
+ React.createElement('img', { src: path, alt: value, className: classes.smallImg, width: size })
76
71
  );
77
72
  } else {
78
73
  innerCellElement = React.createElement(
79
74
  'div',
80
75
  { className: classes.wrapper },
81
- React.createElement('img', { src: path, alt: value, className: classes.img }),
76
+ React.createElement('img', { src: path, alt: value, className: classes.img, width: size }),
82
77
  !!value && React.createElement(
83
78
  'span',
84
79
  { className: classes.label },
@@ -111,6 +106,9 @@ class CellImage extends React.PureComponent {
111
106
  }
112
107
  }
113
108
 
109
+ CellImage.defaultProps = {
110
+ size: 24
111
+ };
114
112
  CellImage.propTypes = process.env.NODE_ENV !== "production" ? {
115
113
  /**
116
114
  * Useful to extend the style applied to components.
@@ -120,6 +118,10 @@ CellImage.propTypes = process.env.NODE_ENV !== "production" ? {
120
118
  * Image path
121
119
  */
122
120
  path: PropTypes.string,
121
+ /**
122
+ * Image path
123
+ */
124
+ size: PropTypes.number.isRequired,
123
125
  /**
124
126
  * Value
125
127
  */
@@ -18,7 +18,7 @@ export const styles = theme => ({
18
18
  class CellNumeric extends React.PureComponent {
19
19
 
20
20
  render() {
21
- const { classes, value, locale, currency, view } = this.props;
21
+ const { classes, value, locale, currency, view, precision } = this.props;
22
22
 
23
23
  let displayedValue = '';
24
24
  let titleValue = '';
@@ -31,7 +31,7 @@ class CellNumeric extends React.PureComponent {
31
31
  titleValue = formatCurrencyAmount(value, cst.VIEWS.LARGE, locale, currency);
32
32
  }
33
33
  } else {
34
- displayedValue = formatNumber(value, view, locale);
34
+ displayedValue = formatNumber(value, view, locale, precision);
35
35
  }
36
36
 
37
37
  return React.createElement(
@@ -63,6 +63,10 @@ CellNumeric.propTypes = process.env.NODE_ENV !== "production" ? {
63
63
  * Code de la devise (ISO 4217)
64
64
  */
65
65
  currency: PropTypes.string,
66
+ /**
67
+ * Nombre de chiffres après la virgule
68
+ */
69
+ precision: PropTypes.number,
66
70
  /**
67
71
  * View (L/M/S)
68
72
  */
@@ -5,15 +5,18 @@ import HiColoredLabel from '../../HiColoredLabel';
5
5
  import { withStyles } from '../../styles';
6
6
  import * as cst from '../constants';
7
7
 
8
- export const styles = theme => ({
8
+ export const styles = {
9
9
  smartDecision: {
10
10
  display: 'inline-block',
11
11
  minWidth: 18
12
12
  },
13
13
  label: {
14
14
  marginLeft: 2
15
+ },
16
+ nowrap: {
17
+ whiteSpace: 'nowrap'
15
18
  }
16
- });
19
+ };
17
20
 
18
21
  /**
19
22
  * Cette cellule permet d'afficher le résultat de Sentinel (score & fraudResult & smartDecision)
@@ -77,17 +80,17 @@ class CellSentinel extends React.PureComponent {
77
80
  null,
78
81
  React.createElement(
79
82
  'div',
80
- null,
83
+ { className: classes.nowrap },
81
84
  scoreLabel
82
85
  ),
83
86
  React.createElement(
84
87
  'div',
85
- null,
88
+ { className: classes.nowrap },
86
89
  fraudResult
87
90
  ),
88
91
  !!smartDecision && automaticFraudReviewResult && React.createElement(
89
92
  'div',
90
- null,
93
+ { className: classes.nowrap },
91
94
  'SD: ',
92
95
  automaticFraudReviewResult
93
96
  )
@@ -2,17 +2,19 @@
2
2
 
3
3
  import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
-
6
- import Tooltip from '../../Tooltip';
7
- import { withStyles, withTheme } from '../../styles';
8
5
  import { Lock, LockOpen, LockOpenOutline } from 'mdi-material-ui';
6
+ import Tooltip from '../../Tooltip';
7
+ import { withStyles } from '../../styles';
9
8
 
10
- export const styles = theme => ({
9
+ export const styles = {
11
10
  icon: {
12
11
  width: 18,
13
12
  height: 18
13
+ },
14
+ nowrap: {
15
+ whiteSpace: 'nowrap'
14
16
  }
15
- });
17
+ };
16
18
 
17
19
  /**
18
20
  * Cette cellule permet d'afficher une icône représentant le statut du 3DS.
@@ -31,26 +33,45 @@ class CellThirdPartySecurity extends React.PureComponent {
31
33
  let icon = null;
32
34
  switch (value) {
33
35
  case ECI_5:
34
- icon = React.createElement(Lock, { className: classes.icon, style: { color: theme.palette.positive.normal } });
36
+ icon = React.createElement(Lock, {
37
+ className: classes.icon,
38
+ style: { color: theme.palette.positive.normal }
39
+ });
35
40
  break;
36
41
  case ECI_6:
37
- icon = React.createElement(LockOpen, { className: classes.icon, style: { color: theme.palette.middle.normal } });
42
+ icon = React.createElement(LockOpen, {
43
+ className: classes.icon,
44
+ style: { color: theme.palette.middle.normal }
45
+ });
38
46
  break;
39
47
  case AUTH_1:
40
- icon = React.createElement(LockOpenOutline, { className: classes.icon, style: { color: theme.palette.neutral.light } });
48
+ icon = React.createElement(LockOpenOutline, {
49
+ className: classes.icon,
50
+ style: { color: theme.palette.neutral.light }
51
+ });
41
52
  break;
42
53
  case AUTH_2:
43
- icon = React.createElement(LockOpen, { className: classes.icon, style: { color: theme.palette.neutral.light } });
54
+ icon = React.createElement(LockOpen, {
55
+ className: classes.icon,
56
+ style: { color: theme.palette.neutral.light }
57
+ });
44
58
  break;
45
59
  case ECI_7:
46
60
  case AUTH_0:
61
+ default:
47
62
  icon = null;
48
63
  break;
49
64
  }
50
65
 
66
+ const tooltipContent = React.createElement(
67
+ 'div',
68
+ { className: classes.nowrap },
69
+ label
70
+ );
71
+
51
72
  return React.createElement(
52
73
  Tooltip,
53
- { title: label, placement: this.props.sticky ? 'right' : 'bottom' },
74
+ { title: tooltipContent, placement: this.props.sticky ? 'right' : 'bottom' },
54
75
  React.createElement(
55
76
  'div',
56
77
  null,
@@ -65,6 +86,14 @@ CellThirdPartySecurity.propTypes = process.env.NODE_ENV !== "production" ? {
65
86
  * Useful to extend the style applied to components.
66
87
  */
67
88
  classes: PropTypes.object,
89
+ /**
90
+ * Label
91
+ */
92
+ label: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
93
+ /**
94
+ * True si la colonne est sticky
95
+ */
96
+ sticky: PropTypes.bool,
68
97
  /**
69
98
  * Useful to extend the theme applied to components.
70
99
  * Used theme props positive.normal, middle.normal, neutral.light
@@ -79,10 +108,6 @@ CellThirdPartySecurity.propTypes = process.env.NODE_ENV !== "production" ? {
79
108
  * AUTH_1 = 4; // ask for 3DS
80
109
  * AUTH_2 = 5; // force 3DS
81
110
  */
82
- value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
83
- /**
84
- * Label
85
- */
86
- label: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
111
+ value: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
87
112
  } : {};
88
113
  export default withStyles(styles, { withTheme: true, name: 'HmuiCellThirdPartySecurity' })(CellThirdPartySecurity);
@@ -130,6 +130,7 @@ class HeaderCell extends React.PureComponent {
130
130
  classes,
131
131
  type,
132
132
  title,
133
+ smallTitle,
133
134
  selectable,
134
135
  selected,
135
136
  onSelect,
@@ -236,7 +237,7 @@ class HeaderCell extends React.PureComponent {
236
237
  {
237
238
  className: classes.labelContainer + (_sorted ? ' ' + classes.labelContainerOrdered : '')
238
239
  },
239
- title
240
+ view !== 's' ? title : smallTitle ? smallTitle : title
240
241
  ),
241
242
  align !== 'right' && _icons
242
243
  ) : React.createElement(
@@ -253,7 +254,7 @@ class HeaderCell extends React.PureComponent {
253
254
  React.createElement(
254
255
  'span',
255
256
  { className: classes.labelContainer, style: { width: '100%' } },
256
- title
257
+ view !== 's' ? title : smallTitle ? smallTitle : title
257
258
  )
258
259
  )
259
260
  ),
@@ -16,8 +16,9 @@ export function camelize(string) {
16
16
  * @param number
17
17
  * @param size
18
18
  * @param locale
19
+ * @param precision
19
20
  */
20
- export function formatNumber(number, size = 'l', locale = 'en-EN') {
21
+ export function formatNumber(number, size = 'l', locale = 'en-EN', precision) {
21
22
  // Round number
22
23
  switch (size) {
23
24
  case 'l':
@@ -33,8 +34,8 @@ export function formatNumber(number, size = 'l', locale = 'en-EN') {
33
34
 
34
35
  // To locale
35
36
  const options = {
36
- minimumFractionDigits: size === 'l' ? 2 : 0,
37
- maximumFractionDigits: size === 'l' ? 2 : 0,
37
+ minimumFractionDigits: typeof precision !== 'undefined' ? precision : size === 'l' ? 2 : 0,
38
+ maximumFractionDigits: typeof precision !== 'undefined' ? precision : size === 'l' ? 2 : 0,
38
39
  useGrouping: true
39
40
  };
40
41
 
package/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Material-UI v1.0.0-beta.13
1
+ /** @license Material-UI v1.0.0-beta.15
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 Material-UI v1.0.0-beta.13
1
+ /** @license Material-UI v1.0.0-beta.15
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": "1.0.0-beta.13",
5
+ "version": "1.0.0-beta.15",
6
6
  "description": "HiPay Material-UI Style Guide - React components that implement Google's Material Design from Material-UI.",
7
7
  "main": "./index.js",
8
8
  "repository": {
@@ -15,51 +15,51 @@
15
15
  "homepage": "http://material-ui.com/",
16
16
  "peerDependencies": {
17
17
  "react": "16.2.0",
18
- "react-dom": "^15.3.0 || ^16.0.0"
18
+ "react-dom": "15.3.0 || 16.0.0"
19
19
  },
20
20
  "dependencies": {
21
- "@types/jss": "^9.3.0",
22
- "@types/react-transition-group": "^2.0.6",
23
- "babel-runtime": "^6.26.0",
24
- "brcast": "^3.0.1",
25
- "classnames": "^2.2.5",
26
- "deepmerge": "^2.0.1",
27
- "dom-helpers": "^3.2.1",
28
- "hoist-non-react-statics": "^2.5.0",
29
- "jss": "^9.3.3",
30
- "jss-camel-case": "^6.0.0",
31
- "jss-default-unit": "^8.0.2",
32
- "jss-global": "^3.0.0",
33
- "jss-nested": "^6.0.1",
34
- "jss-props-sort": "^6.0.0",
35
- "jss-vendor-prefixer": "^7.0.0",
36
- "keycode": "^2.1.9",
37
- "lodash": "^4.2.0",
38
- "lz-string": "^1.4.4",
21
+ "@types/jss": "9.3.0",
22
+ "@types/react-transition-group": "2.0.6",
23
+ "babel-runtime": "6.26.0",
24
+ "brcast": "3.0.1",
25
+ "classnames": "2.2.5",
26
+ "deepmerge": "2.0.1",
27
+ "dom-helpers": "3.2.1",
28
+ "hoist-non-react-statics": "2.5.0",
29
+ "jss": "9.3.3",
30
+ "jss-camel-case": "6.0.0",
31
+ "jss-default-unit": "8.0.2",
32
+ "jss-global": "3.0.0",
33
+ "jss-nested": "6.0.1",
34
+ "jss-props-sort": "6.0.0",
35
+ "jss-vendor-prefixer": "7.0.0",
36
+ "keycode": "2.1.9",
37
+ "lodash": "4.2.0",
38
+ "lz-string": "1.4.4",
39
39
  "material-ui": "1.0.0-beta.36",
40
- "mdi-material-ui": "^2.0.0",
41
- "moment": "^2.19.1",
42
- "moment-timezone": "^0.5.14",
43
- "normalize-scroll-left": "^0.1.2",
44
- "prop-types": "^15.6.0",
45
- "react-addons-update": "^15.6.2",
46
- "react-contextmenu": "^2.9.2",
47
- "react-custom-scrollbars": "^4.2.1",
48
- "react-day-picker": "^7.0.7",
49
- "react-event-listener": "^0.5.1",
50
- "react-jss": "^8.1.0",
51
- "react-lifecycles-compat": "^1.0.2",
52
- "react-pdf": "^3.0.4",
53
- "react-popper": "^0.8.0",
54
- "react-proptype-conditional-require": "^1.0.4",
55
- "react-scrollbar-size": "^2.0.2",
56
- "react-sortable-hoc": "^0.6.8",
57
- "react-spinners": "^0.2.5",
58
- "react-transition-group": "^2.2.1",
59
- "recompose": "^0.26.0",
60
- "scroll": "^2.0.3",
61
- "validator": "^9.4.0",
62
- "warning": "^3.0.0"
40
+ "mdi-material-ui": "2.0.0",
41
+ "moment": "2.19.1",
42
+ "moment-timezone": "0.5.14",
43
+ "normalize-scroll-left": "0.1.2",
44
+ "prop-types": "15.6.0",
45
+ "react-addons-update": "15.6.2",
46
+ "react-contextmenu": "2.9.2",
47
+ "react-custom-scrollbars": "4.2.1",
48
+ "react-day-picker": "7.1.9",
49
+ "react-event-listener": "0.5.1",
50
+ "react-jss": "8.1.0",
51
+ "react-lifecycles-compat": "1.0.2",
52
+ "react-pdf": "3.0.4",
53
+ "react-popper": "0.8.0",
54
+ "react-proptype-conditional-require": "1.0.4",
55
+ "react-scrollbar-size": "2.0.2",
56
+ "react-sortable-hoc": "0.6.8",
57
+ "react-spinners": "0.2.5",
58
+ "react-transition-group": "2.2.1",
59
+ "recompose": "0.26.0",
60
+ "scroll": "2.0.3",
61
+ "validator": "9.4.0",
62
+ "warning": ".0.0"
63
63
  },
64
64
  "resolutions": {
65
65
  "@types/react": "16.0.38"