@bonlineza/luxity-lib 2.18.3 → 2.18.5

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/Interests.js CHANGED
@@ -8150,573 +8150,6 @@
8150
8150
 
8151
8151
  var InvertedTextButton$1 = themed(InvertedTextButton);
8152
8152
 
8153
- /*! *****************************************************************************
8154
- Copyright (c) Microsoft Corporation.
8155
-
8156
- Permission to use, copy, modify, and/or distribute this software for any
8157
- purpose with or without fee is hereby granted.
8158
-
8159
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8160
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
8161
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
8162
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
8163
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
8164
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
8165
- PERFORMANCE OF THIS SOFTWARE.
8166
- ***************************************************************************** */
8167
-
8168
- var __assign = function() {
8169
- __assign = Object.assign || function __assign(t) {
8170
- for (var s, i = 1, n = arguments.length; i < n; i++) {
8171
- s = arguments[i];
8172
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8173
- }
8174
- return t;
8175
- };
8176
- return __assign.apply(this, arguments);
8177
- };
8178
-
8179
- function __rest(s, e) {
8180
- var t = {};
8181
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
8182
- t[p] = s[p];
8183
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
8184
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8185
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8186
- t[p[i]] = s[p[i]];
8187
- }
8188
- return t;
8189
- }
8190
-
8191
- function __spreadArray(to, from, pack) {
8192
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
8193
- if (ar || !(i in from)) {
8194
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
8195
- ar[i] = from[i];
8196
- }
8197
- }
8198
- return to.concat(ar || from);
8199
- }
8200
-
8201
- /**
8202
- * Escape regex char
8203
- *
8204
- * See: https://stackoverflow.com/questions/17885855/use-dynamic-variable-string-as-regex-pattern-in-javascript
8205
- */
8206
- var escapeRegExp = function (stringToGoIntoTheRegex) {
8207
- return stringToGoIntoTheRegex.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
8208
- };
8209
-
8210
- var abbrMap = { k: 1000, m: 1000000, b: 1000000000 };
8211
- /**
8212
- * Parse a value with abbreviation e.g 1k = 1000
8213
- */
8214
- var parseAbbrValue = function (value, decimalSeparator) {
8215
- if (decimalSeparator === void 0) { decimalSeparator = '.'; }
8216
- var reg = new RegExp("(\\d+(" + escapeRegExp(decimalSeparator) + "\\d*)?)([kmb])$", 'i');
8217
- var match = value.match(reg);
8218
- if (match) {
8219
- var digits = match[1], abbr = match[3];
8220
- var multiplier = abbrMap[abbr.toLowerCase()];
8221
- return Number(digits.replace(decimalSeparator, '.')) * multiplier;
8222
- }
8223
- return undefined;
8224
- };
8225
-
8226
- /**
8227
- * Remove group separator from value eg. 1,000 > 1000
8228
- */
8229
- var removeSeparators = function (value, separator) {
8230
- if (separator === void 0) { separator = ','; }
8231
- var reg = new RegExp(escapeRegExp(separator), 'g');
8232
- return value.replace(reg, '');
8233
- };
8234
-
8235
- /**
8236
- * Remove invalid characters
8237
- */
8238
- var removeInvalidChars = function (value, validChars) {
8239
- var chars = escapeRegExp(validChars.join(''));
8240
- var reg = new RegExp("[^\\d" + chars + "]", 'gi');
8241
- return value.replace(reg, '');
8242
- };
8243
-
8244
- /**
8245
- * Remove prefix, separators and extra decimals from value
8246
- */
8247
- var cleanValue$1 = function (_a) {
8248
- var value = _a.value, _b = _a.groupSeparator, groupSeparator = _b === void 0 ? ',' : _b, _c = _a.decimalSeparator, decimalSeparator = _c === void 0 ? '.' : _c, _d = _a.allowDecimals, allowDecimals = _d === void 0 ? true : _d, _e = _a.decimalsLimit, decimalsLimit = _e === void 0 ? 2 : _e, _f = _a.allowNegativeValue, allowNegativeValue = _f === void 0 ? true : _f, _g = _a.disableAbbreviations, disableAbbreviations = _g === void 0 ? false : _g, _h = _a.prefix, prefix = _h === void 0 ? '' : _h, _j = _a.transformRawValue, transformRawValue = _j === void 0 ? function (rawValue) { return rawValue; } : _j;
8249
- var transformedValue = transformRawValue(value);
8250
- if (transformedValue === '-') {
8251
- return transformedValue;
8252
- }
8253
- var abbreviations = disableAbbreviations ? [] : ['k', 'm', 'b'];
8254
- var reg = new RegExp("((^|\\D)-\\d)|(-" + escapeRegExp(prefix) + ")");
8255
- var isNegative = reg.test(transformedValue);
8256
- // Is there a digit before the prefix? eg. 1$
8257
- var _k = RegExp("(\\d+)-?" + escapeRegExp(prefix)).exec(value) || [], prefixWithValue = _k[0], preValue = _k[1];
8258
- var withoutPrefix = prefix
8259
- ? prefixWithValue
8260
- ? transformedValue.replace(prefixWithValue, '').concat(preValue)
8261
- : transformedValue.replace(prefix, '')
8262
- : transformedValue;
8263
- var withoutSeparators = removeSeparators(withoutPrefix, groupSeparator);
8264
- var withoutInvalidChars = removeInvalidChars(withoutSeparators, __spreadArray([
8265
- groupSeparator,
8266
- decimalSeparator
8267
- ], abbreviations));
8268
- var valueOnly = withoutInvalidChars;
8269
- if (!disableAbbreviations) {
8270
- // disallow letter without number
8271
- if (abbreviations.some(function (letter) { return letter === withoutInvalidChars.toLowerCase(); })) {
8272
- return '';
8273
- }
8274
- var parsed = parseAbbrValue(withoutInvalidChars, decimalSeparator);
8275
- if (parsed) {
8276
- valueOnly = String(parsed);
8277
- }
8278
- }
8279
- var includeNegative = isNegative && allowNegativeValue ? '-' : '';
8280
- if (decimalSeparator && valueOnly.includes(decimalSeparator)) {
8281
- var _l = withoutInvalidChars.split(decimalSeparator), int = _l[0], decimals = _l[1];
8282
- var trimmedDecimals = decimalsLimit && decimals ? decimals.slice(0, decimalsLimit) : decimals;
8283
- var includeDecimals = allowDecimals ? "" + decimalSeparator + trimmedDecimals : '';
8284
- return "" + includeNegative + int + includeDecimals;
8285
- }
8286
- return "" + includeNegative + valueOnly;
8287
- };
8288
-
8289
- var fixedDecimalValue = function (value, decimalSeparator, fixedDecimalLength) {
8290
- if (fixedDecimalLength && value.length > 1) {
8291
- if (value.includes(decimalSeparator)) {
8292
- var _a = value.split(decimalSeparator), int = _a[0], decimals = _a[1];
8293
- if (decimals.length > fixedDecimalLength) {
8294
- return "" + int + decimalSeparator + decimals.slice(0, fixedDecimalLength);
8295
- }
8296
- }
8297
- var reg = value.length > fixedDecimalLength
8298
- ? new RegExp("(\\d+)(\\d{" + fixedDecimalLength + "})")
8299
- : new RegExp("(\\d)(\\d+)");
8300
- var match = value.match(reg);
8301
- if (match) {
8302
- var int = match[1], decimals = match[2];
8303
- return "" + int + decimalSeparator + decimals;
8304
- }
8305
- }
8306
- return value;
8307
- };
8308
-
8309
- var getSuffix = function (value, _a) {
8310
- var _b = _a.groupSeparator, groupSeparator = _b === void 0 ? ',' : _b, _c = _a.decimalSeparator, decimalSeparator = _c === void 0 ? '.' : _c;
8311
- var suffixReg = new RegExp("\\d([^" + escapeRegExp(groupSeparator) + escapeRegExp(decimalSeparator) + "0-9]+)");
8312
- var suffixMatch = value.match(suffixReg);
8313
- return suffixMatch ? suffixMatch[1] : undefined;
8314
- };
8315
-
8316
- /**
8317
- * Format value with decimal separator, group separator and prefix
8318
- */
8319
- var formatValue = function (options) {
8320
- var _value = options.value, decimalSeparator = options.decimalSeparator, intlConfig = options.intlConfig, decimalScale = options.decimalScale, _a = options.prefix, prefix = _a === void 0 ? '' : _a, _b = options.suffix, suffix = _b === void 0 ? '' : _b;
8321
- if (_value === '' || _value === undefined) {
8322
- return '';
8323
- }
8324
- if (_value === '-') {
8325
- return '-';
8326
- }
8327
- var isNegative = new RegExp("^\\d?-" + (prefix ? escapeRegExp(prefix) + "?" : '') + "\\d").test(_value);
8328
- var value = decimalSeparator !== '.'
8329
- ? replaceDecimalSeparator(_value, decimalSeparator, isNegative)
8330
- : _value;
8331
- var numberFormatter = intlConfig
8332
- ? new Intl.NumberFormat(intlConfig.locale, intlConfig.currency
8333
- ? {
8334
- style: 'currency',
8335
- currency: intlConfig.currency,
8336
- minimumFractionDigits: decimalScale || 0,
8337
- maximumFractionDigits: 20,
8338
- }
8339
- : undefined)
8340
- : new Intl.NumberFormat(undefined, {
8341
- minimumFractionDigits: decimalScale || 0,
8342
- maximumFractionDigits: 20,
8343
- });
8344
- var parts = numberFormatter.formatToParts(Number(value));
8345
- var formatted = replaceParts(parts, options);
8346
- // Does intl formatting add a suffix?
8347
- var intlSuffix = getSuffix(formatted, __assign({}, options));
8348
- // Include decimal separator if user input ends with decimal separator
8349
- var includeDecimalSeparator = _value.slice(-1) === decimalSeparator ? decimalSeparator : '';
8350
- var _c = value.match(RegExp('\\d+\\.(\\d+)')) || [], decimals = _c[1];
8351
- // Keep original decimal padding if no decimalScale
8352
- if (decimalScale === undefined && decimals && decimalSeparator) {
8353
- if (formatted.includes(decimalSeparator)) {
8354
- formatted = formatted.replace(RegExp("(\\d+)(" + escapeRegExp(decimalSeparator) + ")(\\d+)", 'g'), "$1$2" + decimals);
8355
- }
8356
- else {
8357
- if (intlSuffix && !suffix) {
8358
- formatted = formatted.replace(intlSuffix, "" + decimalSeparator + decimals + intlSuffix);
8359
- }
8360
- else {
8361
- formatted = "" + formatted + decimalSeparator + decimals;
8362
- }
8363
- }
8364
- }
8365
- if (suffix && includeDecimalSeparator) {
8366
- return "" + formatted + includeDecimalSeparator + suffix;
8367
- }
8368
- if (intlSuffix && includeDecimalSeparator) {
8369
- return formatted.replace(intlSuffix, "" + includeDecimalSeparator + intlSuffix);
8370
- }
8371
- if (intlSuffix && suffix) {
8372
- return formatted.replace(intlSuffix, "" + includeDecimalSeparator + suffix);
8373
- }
8374
- return [formatted, includeDecimalSeparator, suffix].join('');
8375
- };
8376
- /**
8377
- * Before converting to Number, decimal separator has to be .
8378
- */
8379
- var replaceDecimalSeparator = function (value, decimalSeparator, isNegative) {
8380
- var newValue = value;
8381
- if (decimalSeparator && decimalSeparator !== '.') {
8382
- newValue = newValue.replace(RegExp(escapeRegExp(decimalSeparator), 'g'), '.');
8383
- if (isNegative && decimalSeparator === '-') {
8384
- newValue = "-" + newValue.slice(1);
8385
- }
8386
- }
8387
- return newValue;
8388
- };
8389
- var replaceParts = function (parts, _a) {
8390
- var prefix = _a.prefix, groupSeparator = _a.groupSeparator, decimalSeparator = _a.decimalSeparator, decimalScale = _a.decimalScale, _b = _a.disableGroupSeparators, disableGroupSeparators = _b === void 0 ? false : _b;
8391
- return parts
8392
- .reduce(function (prev, _a, i) {
8393
- var type = _a.type, value = _a.value;
8394
- if (i === 0 && prefix) {
8395
- if (type === 'minusSign') {
8396
- return [value, prefix];
8397
- }
8398
- if (type === 'currency') {
8399
- return __spreadArray(__spreadArray([], prev), [prefix]);
8400
- }
8401
- return [prefix, value];
8402
- }
8403
- if (type === 'currency') {
8404
- return prefix ? prev : __spreadArray(__spreadArray([], prev), [value]);
8405
- }
8406
- if (type === 'group') {
8407
- return !disableGroupSeparators
8408
- ? __spreadArray(__spreadArray([], prev), [groupSeparator !== undefined ? groupSeparator : value]) : prev;
8409
- }
8410
- if (type === 'decimal') {
8411
- if (decimalScale !== undefined && decimalScale === 0) {
8412
- return prev;
8413
- }
8414
- return __spreadArray(__spreadArray([], prev), [decimalSeparator !== undefined ? decimalSeparator : value]);
8415
- }
8416
- if (type === 'fraction') {
8417
- return __spreadArray(__spreadArray([], prev), [decimalScale !== undefined ? value.slice(0, decimalScale) : value]);
8418
- }
8419
- return __spreadArray(__spreadArray([], prev), [value]);
8420
- }, [''])
8421
- .join('');
8422
- };
8423
-
8424
- var defaultConfig = {
8425
- currencySymbol: '',
8426
- groupSeparator: '',
8427
- decimalSeparator: '',
8428
- prefix: '',
8429
- suffix: '',
8430
- };
8431
- /**
8432
- * Get locale config from input or default
8433
- */
8434
- var getLocaleConfig = function (intlConfig) {
8435
- var _a = intlConfig || {}, locale = _a.locale, currency = _a.currency;
8436
- var numberFormatter = locale
8437
- ? new Intl.NumberFormat(locale, currency ? { currency: currency, style: 'currency' } : undefined)
8438
- : new Intl.NumberFormat();
8439
- return numberFormatter.formatToParts(1000.1).reduce(function (prev, curr, i) {
8440
- if (curr.type === 'currency') {
8441
- if (i === 0) {
8442
- return __assign(__assign({}, prev), { currencySymbol: curr.value, prefix: curr.value });
8443
- }
8444
- else {
8445
- return __assign(__assign({}, prev), { currencySymbol: curr.value, suffix: curr.value });
8446
- }
8447
- }
8448
- if (curr.type === 'group') {
8449
- return __assign(__assign({}, prev), { groupSeparator: curr.value });
8450
- }
8451
- if (curr.type === 'decimal') {
8452
- return __assign(__assign({}, prev), { decimalSeparator: curr.value });
8453
- }
8454
- return prev;
8455
- }, defaultConfig);
8456
- };
8457
-
8458
- var isNumber = function (input) { return RegExp(/\d/, 'gi').test(input); };
8459
-
8460
- var padTrimValue = function (value, decimalSeparator, decimalScale) {
8461
- if (decimalSeparator === void 0) { decimalSeparator = '.'; }
8462
- if (decimalScale === undefined || value === '' || value === undefined) {
8463
- return value;
8464
- }
8465
- if (!value.match(/\d/g)) {
8466
- return '';
8467
- }
8468
- var _a = value.split(decimalSeparator), int = _a[0], decimals = _a[1];
8469
- if (decimalScale === 0) {
8470
- return int;
8471
- }
8472
- var newValue = decimals || '';
8473
- if (newValue.length < decimalScale) {
8474
- while (newValue.length < decimalScale) {
8475
- newValue += '0';
8476
- }
8477
- }
8478
- else {
8479
- newValue = newValue.slice(0, decimalScale);
8480
- }
8481
- return "" + int + decimalSeparator + newValue;
8482
- };
8483
-
8484
- /**
8485
- * Based on the last key stroke and the cursor position, update the value
8486
- * and reposition the cursor to the right place
8487
- */
8488
- var repositionCursor = function (_a) {
8489
- var selectionStart = _a.selectionStart, value = _a.value, lastKeyStroke = _a.lastKeyStroke, stateValue = _a.stateValue, groupSeparator = _a.groupSeparator;
8490
- var cursorPosition = selectionStart;
8491
- var modifiedValue = value;
8492
- if (stateValue && cursorPosition) {
8493
- var splitValue = value.split('');
8494
- // if cursor is to right of groupSeparator and backspace pressed, delete the character to the left of the separator and reposition the cursor
8495
- if (lastKeyStroke === 'Backspace' && stateValue[cursorPosition] === groupSeparator) {
8496
- splitValue.splice(cursorPosition - 1, 1);
8497
- cursorPosition -= 1;
8498
- }
8499
- // if cursor is to left of groupSeparator and delete pressed, delete the character to the right of the separator and reposition the cursor
8500
- if (lastKeyStroke === 'Delete' && stateValue[cursorPosition] === groupSeparator) {
8501
- splitValue.splice(cursorPosition, 1);
8502
- cursorPosition += 1;
8503
- }
8504
- modifiedValue = splitValue.join('');
8505
- return { modifiedValue: modifiedValue, cursorPosition: cursorPosition };
8506
- }
8507
- return { modifiedValue: modifiedValue, cursorPosition: selectionStart };
8508
- };
8509
-
8510
- var CurrencyInput = React.forwardRef(function (_a, ref) {
8511
- var _b = _a.allowDecimals, allowDecimals = _b === void 0 ? true : _b, _c = _a.allowNegativeValue, allowNegativeValue = _c === void 0 ? true : _c, id = _a.id, name = _a.name, className = _a.className, customInput = _a.customInput, decimalsLimit = _a.decimalsLimit, defaultValue = _a.defaultValue, _d = _a.disabled, disabled = _d === void 0 ? false : _d, userMaxLength = _a.maxLength, userValue = _a.value, onValueChange = _a.onValueChange, fixedDecimalLength = _a.fixedDecimalLength, placeholder = _a.placeholder, decimalScale = _a.decimalScale, prefix = _a.prefix, suffix = _a.suffix, intlConfig = _a.intlConfig, step = _a.step, min = _a.min, max = _a.max, _e = _a.disableGroupSeparators, disableGroupSeparators = _e === void 0 ? false : _e, _f = _a.disableAbbreviations, disableAbbreviations = _f === void 0 ? false : _f, _decimalSeparator = _a.decimalSeparator, _groupSeparator = _a.groupSeparator, onChange = _a.onChange, onFocus = _a.onFocus, onBlur = _a.onBlur, onKeyDown = _a.onKeyDown, onKeyUp = _a.onKeyUp, transformRawValue = _a.transformRawValue, props = __rest(_a, ["allowDecimals", "allowNegativeValue", "id", "name", "className", "customInput", "decimalsLimit", "defaultValue", "disabled", "maxLength", "value", "onValueChange", "fixedDecimalLength", "placeholder", "decimalScale", "prefix", "suffix", "intlConfig", "step", "min", "max", "disableGroupSeparators", "disableAbbreviations", "decimalSeparator", "groupSeparator", "onChange", "onFocus", "onBlur", "onKeyDown", "onKeyUp", "transformRawValue"]);
8512
- if (_decimalSeparator && isNumber(_decimalSeparator)) {
8513
- throw new Error('decimalSeparator cannot be a number');
8514
- }
8515
- if (_groupSeparator && isNumber(_groupSeparator)) {
8516
- throw new Error('groupSeparator cannot be a number');
8517
- }
8518
- var localeConfig = React.useMemo(function () { return getLocaleConfig(intlConfig); }, [intlConfig]);
8519
- var decimalSeparator = _decimalSeparator || localeConfig.decimalSeparator || '';
8520
- var groupSeparator = _groupSeparator || localeConfig.groupSeparator || '';
8521
- if (decimalSeparator &&
8522
- groupSeparator &&
8523
- decimalSeparator === groupSeparator &&
8524
- disableGroupSeparators === false) {
8525
- throw new Error('decimalSeparator cannot be the same as groupSeparator');
8526
- }
8527
- var formatValueOptions = {
8528
- decimalSeparator: decimalSeparator,
8529
- groupSeparator: groupSeparator,
8530
- disableGroupSeparators: disableGroupSeparators,
8531
- intlConfig: intlConfig,
8532
- prefix: prefix || localeConfig.prefix,
8533
- suffix: suffix,
8534
- };
8535
- var cleanValueOptions = {
8536
- decimalSeparator: decimalSeparator,
8537
- groupSeparator: groupSeparator,
8538
- allowDecimals: allowDecimals,
8539
- decimalsLimit: decimalsLimit || fixedDecimalLength || 2,
8540
- allowNegativeValue: allowNegativeValue,
8541
- disableAbbreviations: disableAbbreviations,
8542
- prefix: prefix || localeConfig.prefix,
8543
- transformRawValue: transformRawValue,
8544
- };
8545
- var formattedStateValue = defaultValue !== undefined && defaultValue !== null
8546
- ? formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: decimalScale, value: String(defaultValue) }))
8547
- : userValue !== undefined && userValue !== null
8548
- ? formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: decimalScale, value: String(userValue) }))
8549
- : '';
8550
- var _g = React.useState(formattedStateValue), stateValue = _g[0], setStateValue = _g[1];
8551
- var _h = React.useState(false), dirty = _h[0], setDirty = _h[1];
8552
- var _j = React.useState(0), cursor = _j[0], setCursor = _j[1];
8553
- var _k = React.useState(0), changeCount = _k[0], setChangeCount = _k[1];
8554
- var _l = React.useState(null), lastKeyStroke = _l[0], setLastKeyStroke = _l[1];
8555
- var inputRef = ref || React.useRef(null);
8556
- /**
8557
- * Process change in value
8558
- */
8559
- var processChange = function (value, selectionStart) {
8560
- setDirty(true);
8561
- var _a = repositionCursor({
8562
- selectionStart: selectionStart,
8563
- value: value,
8564
- lastKeyStroke: lastKeyStroke,
8565
- stateValue: stateValue,
8566
- groupSeparator: groupSeparator,
8567
- }), modifiedValue = _a.modifiedValue, cursorPosition = _a.cursorPosition;
8568
- var stringValue = cleanValue$1(__assign({ value: modifiedValue }, cleanValueOptions));
8569
- if (userMaxLength && stringValue.replace(/-/g, '').length > userMaxLength) {
8570
- return;
8571
- }
8572
- if (stringValue === '' || stringValue === '-' || stringValue === decimalSeparator) {
8573
- onValueChange && onValueChange(undefined, name, { float: null, formatted: '', value: '' });
8574
- setStateValue(stringValue);
8575
- return;
8576
- }
8577
- var numberValue = parseFloat(stringValue.replace(decimalSeparator, '.'));
8578
- var formattedValue = formatValue(__assign({ value: stringValue }, formatValueOptions));
8579
- if (cursorPosition !== undefined && cursorPosition !== null) {
8580
- // Prevent cursor jumping
8581
- var newCursor = cursorPosition + (formattedValue.length - value.length);
8582
- newCursor = newCursor <= 0 ? (prefix ? prefix.length : 0) : newCursor;
8583
- setCursor(newCursor);
8584
- setChangeCount(changeCount + 1);
8585
- }
8586
- setStateValue(formattedValue);
8587
- if (onValueChange) {
8588
- var values = {
8589
- float: numberValue,
8590
- formatted: formattedValue,
8591
- value: stringValue,
8592
- };
8593
- onValueChange(stringValue, name, values);
8594
- }
8595
- };
8596
- /**
8597
- * Handle change event
8598
- */
8599
- var handleOnChange = function (event) {
8600
- var _a = event.target, value = _a.value, selectionStart = _a.selectionStart;
8601
- processChange(value, selectionStart);
8602
- onChange && onChange(event);
8603
- };
8604
- /**
8605
- * Handle focus event
8606
- */
8607
- var handleOnFocus = function (event) {
8608
- onFocus && onFocus(event);
8609
- return stateValue ? stateValue.length : 0;
8610
- };
8611
- /**
8612
- * Handle blur event
8613
- *
8614
- * Format value by padding/trimming decimals if required by
8615
- */
8616
- var handleOnBlur = function (event) {
8617
- var value = event.target.value;
8618
- var valueOnly = cleanValue$1(__assign({ value: value }, cleanValueOptions));
8619
- if (valueOnly === '-' || !valueOnly) {
8620
- setStateValue('');
8621
- onBlur && onBlur(event);
8622
- return;
8623
- }
8624
- var fixedDecimals = fixedDecimalValue(valueOnly, decimalSeparator, fixedDecimalLength);
8625
- var newValue = padTrimValue(fixedDecimals, decimalSeparator, decimalScale !== undefined ? decimalScale : fixedDecimalLength);
8626
- var numberValue = parseFloat(newValue.replace(decimalSeparator, '.'));
8627
- var formattedValue = formatValue(__assign(__assign({}, formatValueOptions), { value: newValue }));
8628
- if (onValueChange) {
8629
- onValueChange(newValue, name, {
8630
- float: numberValue,
8631
- formatted: formattedValue,
8632
- value: newValue,
8633
- });
8634
- }
8635
- setStateValue(formattedValue);
8636
- onBlur && onBlur(event);
8637
- };
8638
- /**
8639
- * Handle key down event
8640
- *
8641
- * Increase or decrease value by step
8642
- */
8643
- var handleOnKeyDown = function (event) {
8644
- var key = event.key;
8645
- setLastKeyStroke(key);
8646
- if (step && (key === 'ArrowUp' || key === 'ArrowDown')) {
8647
- event.preventDefault();
8648
- setCursor(stateValue.length);
8649
- var currentValue = parseFloat(userValue !== undefined && userValue !== null
8650
- ? String(userValue).replace(decimalSeparator, '.')
8651
- : cleanValue$1(__assign({ value: stateValue }, cleanValueOptions))) || 0;
8652
- var newValue = key === 'ArrowUp' ? currentValue + step : currentValue - step;
8653
- if (min !== undefined && newValue < min) {
8654
- return;
8655
- }
8656
- if (max !== undefined && newValue > max) {
8657
- return;
8658
- }
8659
- var fixedLength = String(step).includes('.')
8660
- ? Number(String(step).split('.')[1].length)
8661
- : undefined;
8662
- processChange(String(fixedLength ? newValue.toFixed(fixedLength) : newValue).replace('.', decimalSeparator));
8663
- }
8664
- onKeyDown && onKeyDown(event);
8665
- };
8666
- /**
8667
- * Handle key up event
8668
- *
8669
- * Move cursor if there is a suffix to prevent user typing past suffix
8670
- */
8671
- var handleOnKeyUp = function (event) {
8672
- var key = event.key, selectionStart = event.currentTarget.selectionStart;
8673
- if (key !== 'ArrowUp' && key !== 'ArrowDown' && stateValue !== '-') {
8674
- var suffix_1 = getSuffix(stateValue, { groupSeparator: groupSeparator, decimalSeparator: decimalSeparator });
8675
- if (suffix_1 && selectionStart && selectionStart > stateValue.length - suffix_1.length) {
8676
- /* istanbul ignore else */
8677
- if (inputRef && typeof inputRef === 'object' && inputRef.current) {
8678
- var newCursor = stateValue.length - suffix_1.length;
8679
- inputRef.current.setSelectionRange(newCursor, newCursor);
8680
- }
8681
- }
8682
- }
8683
- onKeyUp && onKeyUp(event);
8684
- };
8685
- React.useEffect(function () {
8686
- // prevent cursor jumping if editing value
8687
- if (dirty &&
8688
- stateValue !== '-' &&
8689
- inputRef &&
8690
- typeof inputRef === 'object' &&
8691
- inputRef.current) {
8692
- inputRef.current.setSelectionRange(cursor, cursor);
8693
- }
8694
- }, [stateValue, cursor, inputRef, dirty, changeCount]);
8695
- /**
8696
- * If user has only entered "-" or decimal separator,
8697
- * keep the char to allow them to enter next value
8698
- */
8699
- var getRenderValue = function () {
8700
- if (userValue !== undefined &&
8701
- userValue !== null &&
8702
- stateValue !== '-' &&
8703
- (!decimalSeparator || stateValue !== decimalSeparator)) {
8704
- return formatValue(__assign(__assign({}, formatValueOptions), { decimalScale: dirty ? undefined : decimalScale, value: String(userValue) }));
8705
- }
8706
- return stateValue;
8707
- };
8708
- var inputProps = __assign({ type: 'text', inputMode: 'decimal', id: id,
8709
- name: name,
8710
- className: className, onChange: handleOnChange, onBlur: handleOnBlur, onFocus: handleOnFocus, onKeyDown: handleOnKeyDown, onKeyUp: handleOnKeyUp, placeholder: placeholder,
8711
- disabled: disabled, value: getRenderValue(), ref: inputRef }, props);
8712
- if (customInput) {
8713
- var CustomInput = customInput;
8714
- return React__default.createElement(CustomInput, __assign({}, inputProps));
8715
- }
8716
- return React__default.createElement("input", __assign({}, inputProps));
8717
- });
8718
- CurrencyInput.displayName = 'CurrencyInput';
8719
-
8720
8153
  var _excluded$5 = ["value", "onChange", "prefix", "allowNegativeValue", "groupSeparator", "decimalSeparator"];
8721
8154
  var unMask = function unMask() {
8722
8155
  var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
@@ -8735,13 +8168,23 @@
8735
8168
  decimalSeparator = _ref.decimalSeparator,
8736
8169
  rest = _objectWithoutProperties(_ref, _excluded$5);
8737
8170
 
8738
- return /*#__PURE__*/React__default.createElement(CurrencyInput, _extends({}, rest, {
8739
- value: value,
8740
- prefix: prefix,
8741
- onValueChange: onChange,
8742
- groupSeparator: groupSeparator,
8743
- decimalSeparator: decimalSeparator,
8744
- allowNegativeValue: allowNegativeValue
8171
+ var handleValueChange = function handleValueChange(event) {
8172
+ var inputValue = event.target.value;
8173
+ var unmaskedValue = unMask(inputValue);
8174
+ onChange(unmaskedValue);
8175
+ };
8176
+
8177
+ var formatCurrency = function formatCurrency(originalValue) {
8178
+ var numericValue = Number(originalValue);
8179
+ var formattedValue = numericValue.toLocaleString('en-US');
8180
+ return prefix + formattedValue;
8181
+ };
8182
+
8183
+ var formattedValue = formatCurrency(value);
8184
+ return /*#__PURE__*/React__default.createElement("input", _extends({}, rest, {
8185
+ type: "text",
8186
+ value: formattedValue,
8187
+ onChange: handleValueChange
8745
8188
  }));
8746
8189
  };
8747
8190
 
@@ -10047,7 +9490,7 @@
10047
9490
  }, function (props) {
10048
9491
  return props.theme.rareStepColors.secondary;
10049
9492
  });
10050
- var DropdownBrandLink = styled__default.a(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n {\n color: ", ";\n padding-bottom: 0.5rem;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n font-weight: ", ";\n }\n }\n"])), function (props) {
9493
+ var DropdownBrandLink = styled__default.a(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n {\n color: ", ";\n padding-bottom: 0.5rem;\n text-decoration: none;\n\n &:hover,\n &:active {\n color: ", ";\n text-decoration: none;\n font-weight: ", ";\n }\n }\n"])), function (props) {
10051
9494
  return props.theme.rareStepColors.ntrlMin;
10052
9495
  }, function (props) {
10053
9496
  return props.theme.rareStepColors.ntrlMin;