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

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.
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,