@hipay/hipay-material-ui 2.0.0-beta.36 → 2.0.0-beta.37
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/HiAppBar/HiAppBar.js +0 -2
- package/HiCell/CellAddress.js +140 -0
- package/HiCell/CellDate.js +140 -0
- package/HiCell/CellIcon.js +122 -0
- package/HiCell/CellImage.js +132 -0
- package/HiCell/CellNumeric.js +122 -0
- package/HiCell/CellPinToAction.js +92 -0
- package/HiCell/CellRate.js +184 -0
- package/HiCell/CellSentinel.js +179 -0
- package/HiCell/CellText.js +250 -0
- package/HiCell/index.js +71 -0
- package/HiCheckbox/HiCheckbox.js +2 -2
- package/HiDatePicker/Caption.js +0 -1
- package/HiDatePicker/HiDatePicker.js +1 -1
- package/HiDatePicker/HiDateRangePicker.js +756 -0
- package/HiDatePicker/HiDateRangeSelector.js +495 -0
- package/HiDatePicker/ListPicker.js +0 -1
- package/HiDatePicker/ListPicker.spec.js +1 -2
- package/HiDatePicker/NavBar.js +2 -2
- package/HiDatePicker/NavBar.spec.js +4 -5
- package/HiDatePicker/Overlays/CustomOverlayLayout.js +0 -1
- package/HiDatePicker/Overlays/MonthPickerOverlay.js +0 -1
- package/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +0 -1
- package/HiDatePicker/Overlays/Overlay.js +0 -1
- package/HiDatePicker/Overlays/Overlay.spec.js +0 -5
- package/HiDatePicker/Overlays/TimePickerOverlay.js +0 -1
- package/HiDatePicker/Overlays/TimePickerOverlay.spec.js +0 -1
- package/HiDatePicker/Overlays/YearPickerOverlay.js +0 -1
- package/HiDatePicker/Overlays/YearPickerOverlay.spec.js +0 -1
- package/HiDatePicker/Weekday.js +0 -1
- package/HiDatePicker/stylesheet.js +7 -3
- package/HiForm/HiFormControl.js +23 -3
- package/HiForm/HiInput.js +2 -2
- package/HiSelect/HiSelect.js +1 -1
- package/HiSelect/HiSuggestSelect.js +8 -8
- package/HiSelectableList/HiSelectableList.js +3 -1
- package/HiSelectableList/HiSelectableListItem.js +14 -11
- package/es/HiAppBar/HiAppBar.js +0 -2
- package/es/HiCell/CellAddress.js +97 -0
- package/es/HiCell/CellDate.js +94 -0
- package/es/HiCell/CellIcon.js +83 -0
- package/es/HiCell/CellImage.js +91 -0
- package/es/HiCell/CellNumeric.js +80 -0
- package/es/HiCell/CellPinToAction.js +53 -0
- package/es/HiCell/CellRate.js +142 -0
- package/es/HiCell/CellSentinel.js +140 -0
- package/es/HiCell/CellText.js +198 -0
- package/es/HiCell/index.js +8 -0
- package/es/HiCheckbox/HiCheckbox.js +2 -2
- package/es/HiDatePicker/Caption.js +0 -1
- package/es/HiDatePicker/HiDatePicker.js +1 -1
- package/es/HiDatePicker/HiDateRangePicker.js +661 -0
- package/es/HiDatePicker/HiDateRangeSelector.js +432 -0
- package/es/HiDatePicker/ListPicker.js +0 -1
- package/es/HiDatePicker/ListPicker.spec.js +1 -2
- package/es/HiDatePicker/NavBar.js +2 -2
- package/es/HiDatePicker/NavBar.spec.js +4 -5
- package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +0 -1
- package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +0 -1
- package/es/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +0 -1
- package/es/HiDatePicker/Overlays/Overlay.js +0 -1
- package/es/HiDatePicker/Overlays/Overlay.spec.js +0 -3
- package/es/HiDatePicker/Overlays/TimePickerOverlay.js +0 -1
- package/es/HiDatePicker/Overlays/TimePickerOverlay.spec.js +0 -1
- package/es/HiDatePicker/Overlays/YearPickerOverlay.js +0 -1
- package/es/HiDatePicker/Overlays/YearPickerOverlay.spec.js +0 -1
- package/es/HiDatePicker/Overlays/index.js +0 -1
- package/es/HiDatePicker/Weekday.js +0 -1
- package/es/HiDatePicker/stylesheet.js +7 -3
- package/es/HiForm/HiFormControl.js +22 -3
- package/es/HiForm/HiInput.js +2 -2
- package/es/HiSelect/HiSelect.js +1 -1
- package/es/HiSelect/HiSuggestSelect.js +8 -8
- package/es/HiSelectableList/HiSelectableList.js +3 -1
- package/es/HiSelectableList/HiSelectableListItem.js +14 -11
- package/es/index.js +2 -1
- package/es/styles/createPalette.js +2 -1
- package/es/utils/helpers.js +117 -0
- package/index.es.js +3 -2
- package/index.js +1 -1
- package/package.json +1 -1
- package/styles/createPalette.js +1 -1
- package/umd/hipay-material-ui.development.js +39 -14
- package/umd/hipay-material-ui.production.min.js +2 -2
- package/utils/helpers.js +134 -0
package/utils/helpers.js
CHANGED
@@ -13,6 +13,9 @@ exports.findIndex = findIndex;
|
|
13
13
|
exports.find = find;
|
14
14
|
exports.createChainedFunction = createChainedFunction;
|
15
15
|
exports.arrayUnique = arrayUnique;
|
16
|
+
exports.formatNumber = formatNumber;
|
17
|
+
exports.formatCurrencyAmount = formatCurrencyAmount;
|
18
|
+
exports.formatRate = formatRate;
|
16
19
|
exports.getNextItemSelectable = getNextItemSelectable;
|
17
20
|
|
18
21
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
@@ -134,6 +137,137 @@ function arrayUnique(array) {
|
|
134
137
|
|
135
138
|
return a;
|
136
139
|
}
|
140
|
+
/**
|
141
|
+
* Format number relative to required size and locale
|
142
|
+
*
|
143
|
+
* @param number
|
144
|
+
* @param size
|
145
|
+
* @param locale
|
146
|
+
* @param precision
|
147
|
+
*/
|
148
|
+
|
149
|
+
|
150
|
+
function formatNumber(number) {
|
151
|
+
var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'l';
|
152
|
+
var locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en-EN';
|
153
|
+
var precision = arguments.length > 3 ? arguments[3] : undefined;
|
154
|
+
|
155
|
+
// Round number
|
156
|
+
switch (size) {
|
157
|
+
case 'm':
|
158
|
+
number = Math.round(number);
|
159
|
+
break;
|
160
|
+
|
161
|
+
case 's':
|
162
|
+
number = Math.round(number);
|
163
|
+
break;
|
164
|
+
|
165
|
+
case 'l':
|
166
|
+
default:
|
167
|
+
number = Math.round(number * 100) / 100;
|
168
|
+
break;
|
169
|
+
}
|
170
|
+
|
171
|
+
var effectivePrecision = precision || (size === 'l' ? 2 : 0); // To locale
|
172
|
+
|
173
|
+
var options = {
|
174
|
+
minimumFractionDigits: effectivePrecision,
|
175
|
+
maximumFractionDigits: effectivePrecision,
|
176
|
+
useGrouping: true
|
177
|
+
};
|
178
|
+
return number.toLocaleString(locale.replace(/_/g, '-'), options);
|
179
|
+
}
|
180
|
+
/**
|
181
|
+
* Format currency amount relative to required size, locale and currency
|
182
|
+
*
|
183
|
+
* large/fr-FR/EUR : 123456789,123 -> 123 465 789,123 €
|
184
|
+
* large/en-EN/USD : 123456789,123 -> $ 123,465,789.123
|
185
|
+
* large/en-EN/EUR : 123456789,123 -> € 123,465,789.123
|
186
|
+
* small/en-EN/EUR : 123456789,123 -> € 123,456,789
|
187
|
+
* tiny/en-EN/EUR : 123456789,123 -> € 123M
|
188
|
+
* tiny/en-EN/EUR : 23456789,123 -> € 23,456k
|
189
|
+
* tiny/en-EN/EUR : 56789,123 -> € 56,789
|
190
|
+
*
|
191
|
+
* @param amount
|
192
|
+
* @param size - l | m | s
|
193
|
+
* @param locale
|
194
|
+
* @param currency - ISO 4217
|
195
|
+
*/
|
196
|
+
|
197
|
+
|
198
|
+
function formatCurrencyAmount(amount) {
|
199
|
+
var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'l';
|
200
|
+
var locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en-EN';
|
201
|
+
var currency = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'EUR';
|
202
|
+
var value = amount;
|
203
|
+
var unit = ''; // Round number
|
204
|
+
|
205
|
+
switch (size) {
|
206
|
+
case 'm':
|
207
|
+
value = Math.round(amount);
|
208
|
+
break;
|
209
|
+
|
210
|
+
case 's':
|
211
|
+
if (amount > 99999999) {
|
212
|
+
amount /= 1000000;
|
213
|
+
unit = 'M';
|
214
|
+
} else if (amount > 99999) {
|
215
|
+
amount /= 1000;
|
216
|
+
unit = 'k';
|
217
|
+
}
|
218
|
+
|
219
|
+
value = Math.round(amount);
|
220
|
+
break;
|
221
|
+
|
222
|
+
case 'l':
|
223
|
+
default:
|
224
|
+
value = Math.round(amount * 100) / 100;
|
225
|
+
break;
|
226
|
+
} // To locale
|
227
|
+
|
228
|
+
|
229
|
+
var options = {
|
230
|
+
minimumFractionDigits: size === 'l' ? 2 : 0,
|
231
|
+
maximumFractionDigits: size === 'l' ? 2 : 0,
|
232
|
+
useGrouping: true,
|
233
|
+
style: 'currency',
|
234
|
+
currency: currency,
|
235
|
+
currencyDisplay: 'symbol'
|
236
|
+
};
|
237
|
+
var returnValue = value.toLocaleString(locale.replace(/_/g, '-'), options); // Place unit (k, M) after number (don't move currency symbol !)
|
238
|
+
|
239
|
+
if (unit !== '') {
|
240
|
+
returnValue = returnValue.replace(/([\D]*)([\d,.\s]+)([\D]*)/, function (match, p1, p2, p3) {
|
241
|
+
return [p1, p2, unit, p3].join('');
|
242
|
+
});
|
243
|
+
}
|
244
|
+
|
245
|
+
return returnValue;
|
246
|
+
}
|
247
|
+
/**
|
248
|
+
* Format rate relative to required size and locale
|
249
|
+
* large/en-EN : 12.34
|
250
|
+
*
|
251
|
+
* @param rate
|
252
|
+
* @param size
|
253
|
+
* @param locale
|
254
|
+
*/
|
255
|
+
|
256
|
+
|
257
|
+
function formatRate(rate) {
|
258
|
+
var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'l';
|
259
|
+
var locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en-EN';
|
260
|
+
var effectiveSize = 0;
|
261
|
+
if (size === 'l') effectiveSize = 2;
|
262
|
+
if (size === 'm') effectiveSize = 1; // To locale
|
263
|
+
|
264
|
+
var options = {
|
265
|
+
minimumFractionDigits: effectiveSize,
|
266
|
+
maximumFractionDigits: effectiveSize,
|
267
|
+
style: 'percent'
|
268
|
+
};
|
269
|
+
return rate.toLocaleString(locale.replace(/_/g, '-'), options);
|
270
|
+
}
|
137
271
|
/**
|
138
272
|
* Retourne l'item selectionnable suivant.
|
139
273
|
* @param node
|