@hipay/hipay-material-ui 2.0.0-beta.36 → 2.0.0-beta.38

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/HiAppBar/HiAppBar.js +0 -2
  2. package/HiCell/CellAddress.js +140 -0
  3. package/HiCell/CellDate.js +140 -0
  4. package/HiCell/CellIcon.js +122 -0
  5. package/HiCell/CellImage.js +132 -0
  6. package/HiCell/CellNumeric.js +122 -0
  7. package/HiCell/CellPinToAction.js +92 -0
  8. package/HiCell/CellRate.js +184 -0
  9. package/HiCell/CellSentinel.js +179 -0
  10. package/HiCell/CellText.js +250 -0
  11. package/HiCell/index.js +71 -0
  12. package/HiCheckbox/HiCheckbox.js +2 -2
  13. package/HiDatePicker/Caption.js +0 -1
  14. package/HiDatePicker/HiDatePicker.js +1 -1
  15. package/HiDatePicker/HiDateRangePicker.js +756 -0
  16. package/HiDatePicker/HiDateRangeSelector.js +495 -0
  17. package/HiDatePicker/ListPicker.js +0 -1
  18. package/HiDatePicker/ListPicker.spec.js +1 -2
  19. package/HiDatePicker/NavBar.js +2 -2
  20. package/HiDatePicker/NavBar.spec.js +4 -5
  21. package/HiDatePicker/Overlays/CustomOverlayLayout.js +0 -1
  22. package/HiDatePicker/Overlays/MonthPickerOverlay.js +0 -1
  23. package/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +0 -1
  24. package/HiDatePicker/Overlays/Overlay.js +0 -1
  25. package/HiDatePicker/Overlays/Overlay.spec.js +0 -5
  26. package/HiDatePicker/Overlays/TimePickerOverlay.js +0 -1
  27. package/HiDatePicker/Overlays/TimePickerOverlay.spec.js +0 -1
  28. package/HiDatePicker/Overlays/YearPickerOverlay.js +0 -1
  29. package/HiDatePicker/Overlays/YearPickerOverlay.spec.js +0 -1
  30. package/HiDatePicker/Weekday.js +0 -1
  31. package/HiDatePicker/stylesheet.js +7 -3
  32. package/HiForm/HiFormControl.js +23 -3
  33. package/HiForm/HiInput.js +2 -2
  34. package/HiSelect/HiSelect.js +1 -1
  35. package/HiSelect/HiSuggestSelect.js +8 -8
  36. package/HiSelectableList/HiSelectableList.js +3 -1
  37. package/HiSelectableList/HiSelectableListItem.js +14 -11
  38. package/es/HiAppBar/HiAppBar.js +0 -2
  39. package/es/HiCell/CellAddress.js +97 -0
  40. package/es/HiCell/CellDate.js +94 -0
  41. package/es/HiCell/CellIcon.js +83 -0
  42. package/es/HiCell/CellImage.js +91 -0
  43. package/es/HiCell/CellNumeric.js +80 -0
  44. package/es/HiCell/CellPinToAction.js +53 -0
  45. package/es/HiCell/CellRate.js +142 -0
  46. package/es/HiCell/CellSentinel.js +140 -0
  47. package/es/HiCell/CellText.js +198 -0
  48. package/es/HiCell/index.js +8 -0
  49. package/es/HiCheckbox/HiCheckbox.js +2 -2
  50. package/es/HiDatePicker/Caption.js +0 -1
  51. package/es/HiDatePicker/HiDatePicker.js +1 -1
  52. package/es/HiDatePicker/HiDateRangePicker.js +661 -0
  53. package/es/HiDatePicker/HiDateRangeSelector.js +432 -0
  54. package/es/HiDatePicker/ListPicker.js +0 -1
  55. package/es/HiDatePicker/ListPicker.spec.js +1 -2
  56. package/es/HiDatePicker/NavBar.js +2 -2
  57. package/es/HiDatePicker/NavBar.spec.js +4 -5
  58. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +0 -1
  59. package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +0 -1
  60. package/es/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +0 -1
  61. package/es/HiDatePicker/Overlays/Overlay.js +0 -1
  62. package/es/HiDatePicker/Overlays/Overlay.spec.js +0 -3
  63. package/es/HiDatePicker/Overlays/TimePickerOverlay.js +0 -1
  64. package/es/HiDatePicker/Overlays/TimePickerOverlay.spec.js +0 -1
  65. package/es/HiDatePicker/Overlays/YearPickerOverlay.js +0 -1
  66. package/es/HiDatePicker/Overlays/YearPickerOverlay.spec.js +0 -1
  67. package/es/HiDatePicker/Overlays/index.js +0 -1
  68. package/es/HiDatePicker/Weekday.js +0 -1
  69. package/es/HiDatePicker/stylesheet.js +7 -3
  70. package/es/HiForm/HiFormControl.js +22 -3
  71. package/es/HiForm/HiInput.js +2 -2
  72. package/es/HiSelect/HiSelect.js +1 -1
  73. package/es/HiSelect/HiSuggestSelect.js +8 -8
  74. package/es/HiSelectableList/HiSelectableList.js +3 -1
  75. package/es/HiSelectableList/HiSelectableListItem.js +14 -11
  76. package/es/index.js +3 -1
  77. package/es/styles/createPalette.js +2 -1
  78. package/es/utils/helpers.js +117 -0
  79. package/index.es.js +3 -1
  80. package/index.js +18 -2
  81. package/package.json +1 -1
  82. package/styles/createPalette.js +1 -1
  83. package/umd/hipay-material-ui.development.js +22630 -13469
  84. package/umd/hipay-material-ui.production.min.js +2 -2
  85. package/utils/helpers.js +134 -0
@@ -19,10 +19,10 @@ export const styles = theme => ({
19
19
  width: '100%'
20
20
  },
21
21
  popper: {
22
- width: '100%',
23
- transform: 'none',
24
- zIndex: 9,
25
- top: '100%'
22
+ width: '100% !important',
23
+ transform: 'none !important',
24
+ zIndex: '9 !important',
25
+ top: '100% !important'
26
26
  },
27
27
  paper: {
28
28
  borderRadius: '0px 2px',
@@ -184,12 +184,12 @@ class HiSuggestSelect extends React.PureComponent {
184
184
  onKeyDown: this.handleKeyDownSearch,
185
185
  onBlur: this.handleBlur,
186
186
  onFocus: this.handleFocus
187
- })), open && React.createElement(Popper, {
187
+ })), React.createElement(Popper, {
188
188
  disablePortal: true,
189
189
  anchorEl: this.textInput,
190
190
  placement: "bottom-start",
191
- eventsEnabled: open,
192
- className: classes.popper
191
+ className: classes.popper,
192
+ open: true
193
193
  }, React.createElement(Grow, {
194
194
  in: open,
195
195
  id: "menu-list",
@@ -201,7 +201,7 @@ class HiSuggestSelect extends React.PureComponent {
201
201
  }, React.createElement(HiSelectableList, {
202
202
  itemList: optionsShown,
203
203
  selectedIdList: [],
204
- checkbox: false,
204
+ hideCheckbox: true,
205
205
  onSelect: this.handleSelect,
206
206
  translations: translations,
207
207
  onKeyDown: this.handleKeyDown
@@ -6,7 +6,9 @@ import List from '@material-ui/core/List';
6
6
  import withStyles from '../styles/withStyles';
7
7
  import HiSelectableListItem from './HiSelectableListItem';
8
8
  export const styles = () => ({
9
- root: {}
9
+ root: {
10
+ padding: 0
11
+ }
10
12
  });
11
13
  /**
12
14
  * Construit une liste d'item sélectionnable (avec checkbox)
@@ -12,7 +12,9 @@ import HiLoader from '../HiLoader';
12
12
  import withStyles from '../styles/withStyles';
13
13
  import { escapeHTML } from '../utils/helpers';
14
14
  export const styles = theme => ({
15
- root: {},
15
+ root: {
16
+ paddingLeft: 4
17
+ },
16
18
  listItem: {
17
19
  backgroundColor: theme.palette.background3,
18
20
  color: theme.palette.neutral.dark,
@@ -78,7 +80,8 @@ export const styles = theme => ({
78
80
  }),
79
81
  label: {
80
82
  display: 'inline-block',
81
- margin: '1px 0'
83
+ margin: '1px 0',
84
+ paddingLeft: 4
82
85
  },
83
86
  coloredLabel: {
84
87
  display: 'inline-flex',
@@ -93,7 +96,7 @@ export const styles = theme => ({
93
96
  color: theme.palette.neutral.main,
94
97
  fontWeight: theme.typography.fontWeightLight,
95
98
  fontSize: 11,
96
- marginLeft: 8
99
+ marginLeft: 4
97
100
  }),
98
101
  inline: {},
99
102
  info: _objectSpread({}, theme.typography.b3, {
@@ -109,19 +112,19 @@ export const styles = theme => ({
109
112
  alignSelf: 'center'
110
113
  }),
111
114
  checkbox: {
112
- width: 20,
113
- height: 20,
114
- fontSize: 20,
115
115
  marginTop: 3
116
116
  },
117
+ checkboxWithSecondaryInline: {
118
+ marginTop: '-8px'
119
+ },
117
120
  img: {
118
121
  width: 24,
119
122
  height: 'auto',
120
- margin: '2px 8px',
123
+ margin: '1px 4px 3px 4px',
121
124
  verticalAlign: 'middle'
122
125
  },
123
126
  icon: {
124
- margin: '0 8px',
127
+ margin: '0 4px',
125
128
  verticalAlign: 'middle'
126
129
  }
127
130
  });
@@ -256,13 +259,13 @@ class HiSelectableListItem extends React.Component {
256
259
  onMouseLeave: this.setHover(false)
257
260
  }, {
258
261
  style: {
259
- paddingLeft: `${level * 32}px`
262
+ paddingLeft: `${paddingLeft + level * 32}px`
260
263
  }
261
264
  }), !hideCheckbox && !pinned && React.createElement(HiCheckbox, {
262
265
  checked: selected,
263
266
  checkedIcon: checkedIcon,
264
267
  classes: {
265
- root: classes.checkbox
268
+ root: !secondaryInline ? classes.checkboxWithSecondaryInline : classes.checkbox
266
269
  },
267
270
  color: "primary" // TODO ?
268
271
  ,
@@ -301,7 +304,7 @@ HiSelectableListItem.defaultProps = {
301
304
  checkedIcon: 'check_box',
302
305
  indeterminate: false,
303
306
  level: 0,
304
- paddingLeft: 0,
307
+ paddingLeft: 4,
305
308
  pinned: false,
306
309
  secondaryInline: true,
307
310
  selected: false,
package/es/index.js CHANGED
@@ -14,4 +14,6 @@ export { default as HiSwitch } from './HiSwitch';
14
14
  export { default as HiSwitchState } from './HiSwitch/HiSwitchState';
15
15
  export { default as withMobileDialog } from './withMobileDialog';
16
16
  export { default as withWidth } from './withWidth';
17
- export { default as HiDatePicker } from './HiDatePicker/HiDatePicker';
17
+ export { default as HiDatePicker } from './HiDatePicker/HiDatePicker';
18
+ export { default as HiDateRangePicker } from './HiDatePicker/HiDateRangePicker';
19
+ export { default as HiDateRangeSelector } from './HiDatePicker/HiDateRangeSelector';
@@ -155,7 +155,8 @@ export default function createPalette(palette) {
155
155
  dark: red[700]
156
156
  },
157
157
  type = 'light',
158
- contrastThreshold = 4,
158
+ contrastThreshold = 2.9,
159
+ // max light contrast
159
160
  tonalOffset = 0.2,
160
161
  context = 'local'
161
162
  } = palette,
@@ -95,6 +95,123 @@ export function arrayUnique(array) {
95
95
 
96
96
  return a;
97
97
  }
98
+ /**
99
+ * Format number relative to required size and locale
100
+ *
101
+ * @param number
102
+ * @param size
103
+ * @param locale
104
+ * @param precision
105
+ */
106
+
107
+ export function formatNumber(number, size = 'l', locale = 'en-EN', precision) {
108
+ // Round number
109
+ switch (size) {
110
+ case 'm':
111
+ number = Math.round(number);
112
+ break;
113
+
114
+ case 's':
115
+ number = Math.round(number);
116
+ break;
117
+
118
+ case 'l':
119
+ default:
120
+ number = Math.round(number * 100) / 100;
121
+ break;
122
+ }
123
+
124
+ const effectivePrecision = precision || (size === 'l' ? 2 : 0); // To locale
125
+
126
+ const options = {
127
+ minimumFractionDigits: effectivePrecision,
128
+ maximumFractionDigits: effectivePrecision,
129
+ useGrouping: true
130
+ };
131
+ return number.toLocaleString(locale.replace(/_/g, '-'), options);
132
+ }
133
+ /**
134
+ * Format currency amount relative to required size, locale and currency
135
+ *
136
+ * large/fr-FR/EUR : 123456789,123 -> 123 465 789,123 €
137
+ * large/en-EN/USD : 123456789,123 -> $ 123,465,789.123
138
+ * large/en-EN/EUR : 123456789,123 -> € 123,465,789.123
139
+ * small/en-EN/EUR : 123456789,123 -> € 123,456,789
140
+ * tiny/en-EN/EUR : 123456789,123 -> € 123M
141
+ * tiny/en-EN/EUR : 23456789,123 -> € 23,456k
142
+ * tiny/en-EN/EUR : 56789,123 -> € 56,789
143
+ *
144
+ * @param amount
145
+ * @param size - l | m | s
146
+ * @param locale
147
+ * @param currency - ISO 4217
148
+ */
149
+
150
+ export function formatCurrencyAmount(amount, size = 'l', locale = 'en-EN', currency = 'EUR') {
151
+ let value = amount;
152
+ let unit = ''; // Round number
153
+
154
+ switch (size) {
155
+ case 'm':
156
+ value = Math.round(amount);
157
+ break;
158
+
159
+ case 's':
160
+ if (amount > 99999999) {
161
+ amount /= 1000000;
162
+ unit = 'M';
163
+ } else if (amount > 99999) {
164
+ amount /= 1000;
165
+ unit = 'k';
166
+ }
167
+
168
+ value = Math.round(amount);
169
+ break;
170
+
171
+ case 'l':
172
+ default:
173
+ value = Math.round(amount * 100) / 100;
174
+ break;
175
+ } // To locale
176
+
177
+
178
+ const options = {
179
+ minimumFractionDigits: size === 'l' ? 2 : 0,
180
+ maximumFractionDigits: size === 'l' ? 2 : 0,
181
+ useGrouping: true,
182
+ style: 'currency',
183
+ currency,
184
+ currencyDisplay: 'symbol'
185
+ };
186
+ let returnValue = value.toLocaleString(locale.replace(/_/g, '-'), options); // Place unit (k, M) after number (don't move currency symbol !)
187
+
188
+ if (unit !== '') {
189
+ returnValue = returnValue.replace(/([\D]*)([\d,.\s]+)([\D]*)/, (match, p1, p2, p3) => [p1, p2, unit, p3].join(''));
190
+ }
191
+
192
+ return returnValue;
193
+ }
194
+ /**
195
+ * Format rate relative to required size and locale
196
+ * large/en-EN : 12.34
197
+ *
198
+ * @param rate
199
+ * @param size
200
+ * @param locale
201
+ */
202
+
203
+ export function formatRate(rate, size = 'l', locale = 'en-EN') {
204
+ let effectiveSize = 0;
205
+ if (size === 'l') effectiveSize = 2;
206
+ if (size === 'm') effectiveSize = 1; // To locale
207
+
208
+ const options = {
209
+ minimumFractionDigits: effectiveSize,
210
+ maximumFractionDigits: effectiveSize,
211
+ style: 'percent'
212
+ };
213
+ return rate.toLocaleString(locale.replace(/_/g, '-'), options);
214
+ }
98
215
  /**
99
216
  * Retourne l'item selectionnable suivant.
100
217
  * @param node
package/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license HiPay-Material-UI v2.0.0-beta.36
1
+ /** @license HiPay-Material-UI v2.0.0-beta.38
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.
@@ -20,3 +20,5 @@ export { default as HiSwitchState } from './HiSwitch/HiSwitchState';
20
20
  export { default as withMobileDialog } from './withMobileDialog';
21
21
  export { default as withWidth } from './withWidth';
22
22
  export { default as HiDatePicker } from './HiDatePicker/HiDatePicker';
23
+ export { default as HiDateRangePicker } from './HiDatePicker/HiDateRangePicker';
24
+ export { default as HiDateRangeSelector } from './HiDatePicker/HiDateRangeSelector';
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license HiPay-Material-UI v2.0.0-beta.36
1
+ /** @license HiPay-Material-UI v2.0.0-beta.38
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.
@@ -148,6 +148,18 @@ Object.defineProperty(exports, "HiDatePicker", {
148
148
  return _HiDatePicker.default;
149
149
  }
150
150
  });
151
+ Object.defineProperty(exports, "HiDateRangePicker", {
152
+ enumerable: true,
153
+ get: function get() {
154
+ return _HiDateRangePicker.default;
155
+ }
156
+ });
157
+ Object.defineProperty(exports, "HiDateRangeSelector", {
158
+ enumerable: true,
159
+ get: function get() {
160
+ return _HiDateRangeSelector.default;
161
+ }
162
+ });
151
163
 
152
164
  var _styles = require("./styles");
153
165
 
@@ -181,4 +193,8 @@ var _withMobileDialog = _interopRequireDefault(require("./withMobileDialog"));
181
193
 
182
194
  var _withWidth = _interopRequireDefault(require("./withWidth"));
183
195
 
184
- var _HiDatePicker = _interopRequireDefault(require("./HiDatePicker/HiDatePicker"));
196
+ var _HiDatePicker = _interopRequireDefault(require("./HiDatePicker/HiDatePicker"));
197
+
198
+ var _HiDateRangePicker = _interopRequireDefault(require("./HiDatePicker/HiDateRangePicker"));
199
+
200
+ var _HiDateRangeSelector = _interopRequireDefault(require("./HiDatePicker/HiDateRangeSelector"));
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.36",
5
+ "version": "2.0.0-beta.38",
6
6
  "description": "React components that implement Google's Material Design.",
7
7
  "keywords": [
8
8
  "react",
@@ -183,7 +183,7 @@ function createPalette(palette) {
183
183
  _palette$type = palette.type,
184
184
  type = _palette$type === void 0 ? 'light' : _palette$type,
185
185
  _palette$contrastThre = palette.contrastThreshold,
186
- contrastThreshold = _palette$contrastThre === void 0 ? 4 : _palette$contrastThre,
186
+ contrastThreshold = _palette$contrastThre === void 0 ? 2.9 : _palette$contrastThre,
187
187
  _palette$tonalOffset = palette.tonalOffset,
188
188
  tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,
189
189
  _palette$context = palette.context,