numeric-input-react 1.0.20 → 1.0.22

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.
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-input.d.ts","sourceRoot":"","sources":["../src/numeric-input.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAQpB,MAAM,OAAO,CAAA;AAEd,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG;IACjD,aAAa,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAwFD,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAoB,EACpB,aAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,iBAAiB,2CA2oBnB;AAED,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"numeric-input.d.ts","sourceRoot":"","sources":["../src/numeric-input.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAQpB,MAAM,OAAO,CAAA;AAEd,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG;IACjD,aAAa,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAuKD,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAoB,EACpB,aAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,iBAAiB,2CAggBnB;AAED,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAA"}
@@ -23,6 +23,45 @@ const convertFullWidthToHalfWidth = (str) => {
23
23
  const escapeRegex = (str) => {
24
24
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
25
25
  };
26
+ /**
27
+ * Checks if a string is a minus sign (half-width, full-width, katakana, or mathematical)
28
+ */
29
+ const isMinusSign = (str) => {
30
+ return str === '-' || str === '-' || str === 'ー' || str === '−';
31
+ };
32
+ /**
33
+ * Converts any minus sign variant to half-width minus
34
+ */
35
+ const normalizeMinusSign = (str) => {
36
+ return isMinusSign(str) ? '-' : str;
37
+ };
38
+ /**
39
+ * Parses a value prop (string or number) to a number, removing separator if present
40
+ */
41
+ const parseValueProp = (value, separator) => {
42
+ if (value === null || value === undefined || value === '') {
43
+ return NaN;
44
+ }
45
+ if (typeof value === 'number') {
46
+ return value;
47
+ }
48
+ // Handle array case (shouldn't happen for numeric input, but handle gracefully)
49
+ if (Array.isArray(value)) {
50
+ const firstValue = value[0];
51
+ if (!firstValue) {
52
+ return NaN;
53
+ }
54
+ const cleanedValue = separator
55
+ ? firstValue.replace(new RegExp(`[${escapeRegex(separator)}]`, 'g'), '')
56
+ : firstValue;
57
+ return Number(cleanedValue);
58
+ }
59
+ // At this point, value must be a string
60
+ const cleanedValue = separator
61
+ ? value.replace(new RegExp(`[${escapeRegex(separator)}]`, 'g'), '')
62
+ : value;
63
+ return Number(cleanedValue);
64
+ };
26
65
  /**
27
66
  * Normalizes the input string by removing invalid characters
28
67
  * and ensuring proper decimal point handling
@@ -70,8 +109,37 @@ const normalizeNumericInput = (input, allowDecimal, allowNegative, maxLength) =>
70
109
  normalized = normalized.replace(/\./g, '');
71
110
  }
72
111
  // Apply maxLength if specified
73
- if (maxLength && normalized.length > maxLength) {
74
- normalized = normalized.slice(0, maxLength);
112
+ // maxLength should only apply to digits, not to minus sign or decimal point
113
+ if (maxLength) {
114
+ // Count only digits in the normalized string
115
+ const digitCount = (normalized.match(/\d/g) || []).length;
116
+ if (digitCount > maxLength) {
117
+ // Remove excess digits from the end, preserving minus sign and decimal point
118
+ const hasMinus = normalized.startsWith('-');
119
+ let result = hasMinus ? '-' : '';
120
+ let digitsSeen = 0;
121
+ let decimalAdded = false;
122
+ // Start from after minus sign if present
123
+ for (let i = hasMinus ? 1 : 0; i < normalized.length; i++) {
124
+ const char = normalized[i];
125
+ if (/\d/.test(char)) {
126
+ // Only keep digits up to maxLength
127
+ if (digitsSeen < maxLength) {
128
+ result += char;
129
+ digitsSeen++;
130
+ }
131
+ // Skip excess digits
132
+ }
133
+ else if (char === '.' && !decimalAdded) {
134
+ // Only keep decimal point if we have at least one digit and haven't added one yet
135
+ if (digitsSeen > 0) {
136
+ result += char;
137
+ decimalAdded = true;
138
+ }
139
+ }
140
+ }
141
+ normalized = result;
142
+ }
75
143
  }
76
144
  return normalized;
77
145
  };
@@ -168,57 +236,32 @@ function NumericInput({ value, className, separator, onValueChange, onCompositio
168
236
  }
169
237
  }
170
238
  // Remove leading zeros except for single "0" or "0." patterns
171
- // Only allow "0", "-0", "0.", "-0." to keep leading zero
172
- // For cases like "01", "0123", "09999", "00.1" → remove leading zeros
173
239
  const shouldKeepSingleZero = rawValue === '0' ||
174
240
  rawValue === '-0' ||
175
241
  rawValue === '0.' ||
176
242
  rawValue === '-0.';
177
243
  if (!shouldKeepSingleZero) {
178
- // Remove leading zeros (but keep the minus sign if present)
179
- if (rawValue.startsWith('-')) {
180
- const withoutMinus = rawValue.slice(1);
181
- // Split by decimal point to handle cases like "00.1"
182
- if (withoutMinus.includes('.')) {
183
- const [integerPart, decimalPart] = withoutMinus.split('.');
184
- const cleanedInteger = integerPart.replace(/^0+/, '');
185
- // If cleanedInteger is empty and there's a decimal part, keep "0"
186
- if (cleanedInteger === '' && decimalPart) {
187
- rawValue = `-0.${decimalPart}`;
188
- }
189
- else if (cleanedInteger === '') {
190
- rawValue = '-0';
191
- }
192
- else {
193
- rawValue = `-${cleanedInteger}.${decimalPart}`;
194
- }
244
+ const hasMinus = rawValue.startsWith('-');
245
+ const withoutMinus = hasMinus ? rawValue.slice(1) : rawValue;
246
+ const hasDecimal = withoutMinus.includes('.');
247
+ if (hasDecimal) {
248
+ const [integerPart, decimalPart] = withoutMinus.split('.');
249
+ const cleanedInteger = integerPart.replace(/^0+/, '');
250
+ const prefix = hasMinus ? '-' : '';
251
+ if (cleanedInteger === '' && decimalPart) {
252
+ rawValue = `${prefix}0.${decimalPart}`;
253
+ }
254
+ else if (cleanedInteger === '') {
255
+ rawValue = `${prefix}0`;
195
256
  }
196
257
  else {
197
- const withoutLeadingZeros = withoutMinus.replace(/^0+/, '');
198
- rawValue =
199
- withoutLeadingZeros === '' ? '-0' : `-${withoutLeadingZeros}`;
258
+ rawValue = `${prefix}${cleanedInteger}.${decimalPart}`;
200
259
  }
201
260
  }
202
261
  else {
203
- // Split by decimal point to handle cases like "00.1"
204
- if (rawValue.includes('.')) {
205
- const [integerPart, decimalPart] = rawValue.split('.');
206
- const cleanedInteger = integerPart.replace(/^0+/, '');
207
- // If cleanedInteger is empty and there's a decimal part, keep "0"
208
- if (cleanedInteger === '' && decimalPart) {
209
- rawValue = `0.${decimalPart}`;
210
- }
211
- else if (cleanedInteger === '') {
212
- rawValue = '0';
213
- }
214
- else {
215
- rawValue = `${cleanedInteger}.${decimalPart}`;
216
- }
217
- }
218
- else {
219
- const cleaned = rawValue.replace(/^0+/, '');
220
- rawValue = cleaned === '' ? '0' : cleaned;
221
- }
262
+ const cleaned = withoutMinus.replace(/^0+/, '');
263
+ const prefix = hasMinus ? '-' : '';
264
+ rawValue = cleaned === '' ? `${prefix}0` : `${prefix}${cleaned}`;
222
265
  }
223
266
  }
224
267
  // Store the raw input value to preserve single "0" only
@@ -310,303 +353,197 @@ function NumericInput({ value, className, separator, onValueChange, onCompositio
310
353
  onCompositionStart(e);
311
354
  }
312
355
  }, [onCompositionStart]);
356
+ // Helper to process value after conversion (used in composition end and blur)
357
+ const processConvertedValue = useCallback((convertedValue) => {
358
+ if (allowNegative && convertedValue === '-') {
359
+ setRawInputValue('-');
360
+ onValueChange({
361
+ value: 0,
362
+ formattedValue: '-',
363
+ });
364
+ }
365
+ else {
366
+ handleValueChange(convertedValue, true);
367
+ }
368
+ }, [allowNegative, handleValueChange, onValueChange]);
313
369
  const handleCompositionEnd = useCallback((e) => {
314
370
  isComposing.current = false;
315
371
  const finalValue = e.currentTarget.value;
316
- // Clear the composing value
317
372
  setComposingValue('');
318
- // Mark that we've processed composition to prevent duplicate processing in onChange
319
373
  hasProcessedComposition.current = true;
320
- // Handle custom onCompositionEnd
321
374
  if (onCompositionEnd) {
322
375
  onCompositionEnd(e);
323
376
  }
324
- // Process the value after composition ends
325
- // Convert full-width to half-width and preserve minus sign if needed
326
- // Use requestAnimationFrame to ensure it happens after any pending onChange events
327
377
  requestAnimationFrame(() => {
328
- // Convert full-width to half-width before processing
329
378
  const convertedValue = convertFullWidthToHalfWidth(finalValue);
330
- // If the converted value is just a minus sign, preserve it
331
- if (allowNegative && convertedValue === '-') {
332
- setRawInputValue('-');
333
- onValueChange({
334
- value: 0,
335
- formattedValue: '-',
336
- });
337
- }
338
- else {
339
- // Process normally
340
- handleValueChange(convertedValue, true);
341
- }
342
- // Reset flag after processing
379
+ processConvertedValue(convertedValue);
343
380
  hasProcessedComposition.current = false;
344
381
  });
345
- }, [onCompositionEnd, handleValueChange, allowNegative]);
382
+ }, [onCompositionEnd, processConvertedValue]);
346
383
  const handleBlur = useCallback((e) => {
347
- // Check if we need to preserve minus sign before processing
348
- // Check both half-width and full-width minus in rawInputValue and e.target.value
349
- // Also check katakana long vowel mark (ー) and mathematical minus sign (−) which can be used as minus
350
384
  const currentValue = e.target.value;
351
- const isCurrentValueMinus = currentValue === '-' || currentValue === '-' || currentValue === 'ー' || currentValue === '−';
352
- const isRawInputMinus = rawInputValue === '-' || rawInputValue === '-' || rawInputValue === 'ー' || rawInputValue === '−';
353
- const shouldPreserveMinus = allowNegative && (isRawInputMinus || isCurrentValueMinus);
354
- // If still composing when blur happens, force end composition
385
+ const shouldPreserveMinus = allowNegative && (isMinusSign(rawInputValue) || isMinusSign(currentValue));
386
+ // Handle composition states
355
387
  if (isComposing.current) {
356
388
  isComposing.current = false;
357
- const finalValue = e.target.value;
389
+ const convertedValue = convertFullWidthToHalfWidth(e.target.value);
358
390
  setComposingValue('');
359
391
  hasProcessedComposition.current = true;
360
- // Convert full-width to half-width before processing
361
- const convertedValue = convertFullWidthToHalfWidth(finalValue);
362
- // If the converted value is just a minus sign, preserve it
363
- if (allowNegative && convertedValue === '-') {
364
- setRawInputValue('-');
365
- onValueChange({
366
- value: 0,
367
- formattedValue: '-',
368
- });
369
- }
370
- else {
371
- // Process the value immediately
372
- handleValueChange(convertedValue, true);
373
- }
392
+ processConvertedValue(convertedValue);
374
393
  }
375
394
  else if (composingValue !== '') {
376
- // If there's a composing value but not composing, process it
377
- // Convert full-width to half-width before processing
378
395
  const convertedValue = convertFullWidthToHalfWidth(composingValue);
379
- // If the converted value is just a minus sign, preserve it
380
- if (allowNegative && convertedValue === '-') {
381
- setRawInputValue('-');
382
- onValueChange({
383
- value: 0,
384
- formattedValue: '-',
385
- });
386
- }
387
- else {
388
- handleValueChange(convertedValue, true);
389
- }
396
+ processConvertedValue(convertedValue);
390
397
  setComposingValue('');
391
398
  }
392
399
  else if (!hasProcessedComposition.current && e.target.value) {
393
- // If we haven't processed composition and there's a value, process it
394
- // Convert full-width to half-width before processing
395
400
  const convertedValue = convertFullWidthToHalfWidth(e.target.value);
396
- // Process the value - handleValueChange will preserve minus sign if present
397
401
  handleValueChange(convertedValue, true);
398
402
  }
399
- // Apply min/max validation on blur for any intermediate values
400
- // This ensures values are clamped even if user was typing an out-of-range value
401
- // But preserve intermediate states like "-" (minus sign only, half-width or full-width)
402
- if (rawInputValue !== '') {
403
- // Preserve minus sign only if allowNegative is true - skip clamp validation
404
- // Check half-width, full-width minus, katakana long vowel mark (ー), and mathematical minus sign (−)
405
- const isMinusOnly = allowNegative && (rawInputValue === '-' || rawInputValue === '-' || rawInputValue === 'ー' || rawInputValue === '−');
406
- if (!isMinusOnly) {
407
- // Convert to half-width for number conversion
408
- const convertedValue = convertFullWidthToHalfWidth(rawInputValue);
409
- const numValue = Number(convertedValue);
410
- if (!Number.isNaN(numValue) && Number.isFinite(numValue)) {
411
- let clampedValue = numValue;
412
- let shouldUpdate = false;
413
- if (minValue !== undefined && clampedValue < minValue) {
414
- clampedValue = minValue;
415
- shouldUpdate = true;
416
- }
417
- if (maxValue !== undefined && clampedValue > maxValue) {
418
- clampedValue = maxValue;
419
- shouldUpdate = true;
420
- }
421
- if (shouldUpdate) {
422
- const clampedString = clampedValue.toString();
423
- setRawInputValue(clampedString);
424
- onValueChange({
425
- value: clampedValue,
426
- formattedValue: formatValue(clampedValue),
427
- });
428
- }
403
+ // Apply min/max validation on blur
404
+ if (rawInputValue !== '' && !(allowNegative && isMinusSign(rawInputValue))) {
405
+ const convertedValue = convertFullWidthToHalfWidth(rawInputValue);
406
+ const numValue = Number(convertedValue);
407
+ if (!Number.isNaN(numValue) && Number.isFinite(numValue)) {
408
+ let clampedValue = numValue;
409
+ let shouldUpdate = false;
410
+ if (minValue !== undefined && clampedValue < minValue) {
411
+ clampedValue = minValue;
412
+ shouldUpdate = true;
429
413
  }
430
- }
431
- }
432
- // If we need to preserve minus sign (only when value is just minus, no numbers), ensure it's still set as half-width
433
- // Check both current rawInputValue and the value from input element
434
- // Only preserve if the value is just a minus sign, not if it has numbers (those are handled by handleValueChange)
435
- if (shouldPreserveMinus) {
436
- // Check if rawInputValue is just a minus sign (not a number with minus)
437
- const isJustMinus = rawInputValue === '-' || rawInputValue === '-' || rawInputValue === 'ー' || rawInputValue === '−';
438
- if (isJustMinus) {
439
- // Convert any full-width minus to half-width
440
- const finalMinusValue = '-';
441
- if (rawInputValue !== finalMinusValue) {
442
- setRawInputValue(finalMinusValue);
414
+ if (maxValue !== undefined && clampedValue > maxValue) {
415
+ clampedValue = maxValue;
416
+ shouldUpdate = true;
417
+ }
418
+ if (shouldUpdate) {
419
+ const clampedString = clampedValue.toString();
420
+ setRawInputValue(clampedString);
443
421
  onValueChange({
444
- value: 0,
445
- formattedValue: finalMinusValue,
422
+ value: clampedValue,
423
+ formattedValue: formatValue(clampedValue),
446
424
  });
447
425
  }
448
426
  }
449
- // If rawInputValue has numbers (e.g., "-123"), handleValueChange already processed it correctly
450
427
  }
451
- // Reset the flag
428
+ // Normalize minus sign to half-width if needed
429
+ if (shouldPreserveMinus && isMinusSign(rawInputValue) && rawInputValue !== '-') {
430
+ setRawInputValue('-');
431
+ onValueChange({
432
+ value: 0,
433
+ formattedValue: '-',
434
+ });
435
+ }
452
436
  hasProcessedComposition.current = false;
453
- // Call custom onBlur if provided
454
437
  if (onBlur) {
455
438
  onBlur(e);
456
439
  }
457
- }, [composingValue, onBlur, handleValueChange, rawInputValue, minValue, maxValue, formatValue, allowNegative]);
440
+ }, [
441
+ composingValue,
442
+ onBlur,
443
+ handleValueChange,
444
+ rawInputValue,
445
+ minValue,
446
+ maxValue,
447
+ formatValue,
448
+ allowNegative,
449
+ processConvertedValue,
450
+ ]);
458
451
  // Reset rawInputValue when value prop changes externally (e.g., form reset)
459
452
  useEffect(() => {
460
- if (value === null || value === undefined || value === '') {
461
- // Preserve "-", "-", "ー", or "−" if allowNegative is true and user is typing negative number
462
- if (allowNegative && (rawInputValue === '-' || rawInputValue === '-' || rawInputValue === 'ー' || rawInputValue === '−')) {
453
+ const numValue = parseValueProp(value, separator);
454
+ if (Number.isNaN(numValue)) {
455
+ // Preserve minus sign if allowNegative is true and user is typing
456
+ if (allowNegative && isMinusSign(rawInputValue)) {
463
457
  return;
464
458
  }
465
459
  setRawInputValue('');
466
460
  return;
467
461
  }
468
- // Convert value to number if it's a string
469
- // Escape separator for regex if it exists
470
- const numValue = typeof value === 'string'
471
- ? Number(value.replace(new RegExp(`[${separator ? escapeRegex(separator) : ''}]`, 'g'), ''))
472
- : Number(value);
473
- // If the value is 0, preserve rawInputValue if it's "0", "-0", "0.", "-0.", "-", "-", "ー", or "−"
474
- // Also preserve negative numbers when allowNegative is true (user might be typing)
475
- // Otherwise, if value prop is 0 (controlled from outside), set rawInputValue to "0" to display it
462
+ // If the value is 0, preserve rawInputValue if it's a special pattern
476
463
  if (numValue === 0) {
477
464
  const isSingleZero = rawInputValue === '0' ||
478
465
  rawInputValue === '-0' ||
479
- rawInputValue === '-' ||
480
- rawInputValue === '-' ||
481
- rawInputValue === 'ー' ||
482
- rawInputValue === '−' ||
466
+ isMinusSign(rawInputValue) ||
483
467
  rawInputValue.startsWith('0.') ||
484
468
  rawInputValue.startsWith('-0.');
485
469
  // Check if rawInputValue is a negative number (preserve it when allowNegative is true)
486
470
  if (allowNegative && rawInputValue !== '') {
487
471
  const convertedRawValue = convertFullWidthToHalfWidth(rawInputValue);
488
472
  const rawAsNumber = Number(convertedRawValue);
489
- // If it's a valid negative number, preserve it
490
- if (!Number.isNaN(rawAsNumber) && Number.isFinite(rawAsNumber) && rawAsNumber < 0) {
473
+ if (!Number.isNaN(rawAsNumber) &&
474
+ Number.isFinite(rawAsNumber) &&
475
+ rawAsNumber < 0) {
491
476
  return;
492
477
  }
493
478
  }
494
479
  if (!isSingleZero) {
495
- // If value prop is 0 from outside, we should display "0"
496
- // Set rawInputValue to "0" so it can be displayed
497
480
  setRawInputValue('0');
498
481
  }
499
482
  return;
500
483
  }
501
484
  // For non-zero values, check if the numeric value matches what we'd get from rawInputValue
502
- // But preserve intermediate states like "-", "-", or "ー" (minus sign only)
503
- // Also preserve negative numbers that start with minus sign when allowNegative is true
504
485
  if (rawInputValue !== '') {
505
- // Preserve minus sign only if allowNegative is true (half-width, full-width, katakana, and mathematical minus)
506
- if (allowNegative && (rawInputValue === '-' || rawInputValue === '-' || rawInputValue === 'ー' || rawInputValue === '−')) {
507
- // Don't clear rawInputValue if it's just a minus sign
486
+ // Preserve minus sign only if allowNegative is true
487
+ if (allowNegative && isMinusSign(rawInputValue)) {
508
488
  return;
509
489
  }
510
- // Convert to half-width for number comparison
511
490
  const convertedRawValue = convertFullWidthToHalfWidth(rawInputValue);
512
491
  const rawAsNumber = Number(convertedRawValue);
513
- // If rawInputValue starts with minus and allowNegative is true, preserve it
514
- // This handles cases where user is typing negative numbers and value prop might not match yet
515
492
  if (allowNegative && convertedRawValue.startsWith('-')) {
516
- // Always preserve negative numbers when allowNegative is true
517
- // Only clear if value prop is a positive number that clearly doesn't match
518
- // (e.g., rawInputValue is "-123" but numValue is 123 - signs differ)
519
493
  if (rawAsNumber === numValue) {
520
- // They match, keep rawInputValue
521
494
  return;
522
495
  }
523
496
  else if (numValue > 0 && Math.abs(rawAsNumber) === numValue) {
524
- // Value prop is positive but rawInputValue is negative with same absolute value
525
- // This means parent explicitly set a positive value, so clear rawInputValue
526
497
  setRawInputValue('');
527
498
  }
528
499
  else {
529
- // In all other cases (numValue is 0, negative, or doesn't match), preserve rawInputValue
530
- // This ensures user's typing is not lost
531
500
  return;
532
501
  }
533
502
  }
534
- else {
535
- // For non-negative values, check if they match
536
- if (rawAsNumber !== numValue) {
537
- // Value changed externally, clear rawInputValue
538
- setRawInputValue('');
539
- }
503
+ else if (rawAsNumber !== numValue) {
504
+ setRawInputValue('');
540
505
  }
541
506
  }
542
507
  }, [value, separator, rawInputValue, allowNegative]);
543
508
  // Format the display value
544
509
  const displayValue = useMemo(() => {
545
- // If currently composing, use the composing value (this allows IME input to display)
546
510
  if (composingValue !== '') {
547
511
  return composingValue;
548
512
  }
549
- // If rawInputValue is empty, check if we should display the value prop
550
- // This handles both: value prop from outside, and user deleting content
551
513
  if (rawInputValue === '') {
552
- if (value === null || value === undefined || value === '') {
514
+ const numValue = parseValueProp(value, separator);
515
+ if (Number.isNaN(numValue)) {
553
516
  return '';
554
517
  }
555
- // Convert value to number if it's a string
556
- // Escape separator for regex if it exists
557
- const numValue = typeof value === 'string'
558
- ? Number(value.replace(new RegExp(`[${separator ? escapeRegex(separator) : ''}]`, 'g'), ''))
559
- : Number(value);
560
- // If value is 0 and rawInputValue is empty, show "0" (value prop from outside)
561
- // This allows displaying 0 when it's passed as a prop
562
- // Note: If user deletes content, onValueChange is called with formattedValue: '',
563
- // and parent should update value prop to null/undefined/'' to hide "0"
564
518
  if (numValue === 0) {
565
519
  return '0';
566
520
  }
567
- // For non-zero values, format and display them
568
- if (!Number.isNaN(numValue) && Number.isFinite(numValue)) {
521
+ if (Number.isFinite(numValue)) {
569
522
  return formatValue(numValue);
570
523
  }
571
524
  return '';
572
525
  }
573
- // If we have a raw input value with single zero, minus sign only, or ending with decimal point, use it for display
574
526
  if (rawInputValue !== '') {
575
527
  const isSingleZero = rawInputValue === '0' ||
576
528
  rawInputValue === '-0' ||
577
529
  rawInputValue.startsWith('0.') ||
578
530
  rawInputValue.startsWith('-0.');
579
- // Check half-width, full-width minus, katakana long vowel mark (), and mathematical minus sign (−)
580
- const isMinusOnly = allowNegative && (rawInputValue === '-' || rawInputValue === '-' || rawInputValue === 'ー' || rawInputValue === '−');
531
+ const isMinusOnly = allowNegative && isMinusSign(rawInputValue);
581
532
  const endsWithDecimalPoint = allowDecimal &&
582
533
  rawInputValue.endsWith('.') &&
583
534
  !rawInputValue.endsWith('..');
584
535
  if (isSingleZero || isMinusOnly || endsWithDecimalPoint) {
585
- // If it's full-width minus, katakana long vowel mark, or mathematical minus sign, convert to half-width for display
586
- if (rawInputValue === '-' || rawInputValue === 'ー' || rawInputValue === '−') {
587
- return '-';
588
- }
589
- return rawInputValue;
536
+ return normalizeMinusSign(rawInputValue);
590
537
  }
591
- // If rawInputValue is not empty and doesn't match special cases, use it to calculate display value
592
- // This handles the case where user is typing but value prop hasn't been updated yet
593
538
  const rawAsNumber = Number(rawInputValue);
594
539
  if (!Number.isNaN(rawAsNumber) && Number.isFinite(rawAsNumber)) {
595
540
  return formatValue(rawAsNumber);
596
541
  }
597
542
  }
598
- if (value === null || value === undefined || value === '') {
599
- return '';
600
- }
601
- // Convert value to number if it's a string
602
- // Escape separator for regex if it exists
603
- const numValue = typeof value === 'string'
604
- ? Number(value.replace(new RegExp(`[${separator ? escapeRegex(separator) : ''}]`, 'g'), ''))
605
- : Number(value);
606
- if (Number.isNaN(numValue)) {
543
+ const numValue = parseValueProp(value, separator);
544
+ if (Number.isNaN(numValue) || !Number.isFinite(numValue)) {
607
545
  return '';
608
546
  }
609
- // Format and return the value
610
547
  return formatValue(numValue);
611
548
  }, [value, formatValue, separator, composingValue, rawInputValue, allowNegative, allowDecimal]);
612
549
  // Determine appropriate inputMode for mobile keyboards
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-input.js","sourceRoot":"","sources":["../src/numeric-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numeric-input.js","sourceRoot":"","sources":["../src/numeric-input.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "numeric-input-react",
3
- "version": "1.0.20",
3
+ "version": "1.0.22",
4
4
  "description": "A React component for handling numeric input with decimal support, negative numbers, thousands separators, and IME composition handling",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",