persian-number-input 4.0.7 → 4.0.8

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":"usePersianNumberInput.d.ts","sourceRoot":"","sources":["../../src/hooks/usePersianNumberInput.ts"],"names":[],"mappings":"AACA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAmB,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGnF,UAAU,0BAA2B,SAAQ,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC;IACtF,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,qBAAqB,GAAI,kIAWnC,0BAA+B,KAAG,2BAoHpC,CAAC"}
1
+ {"version":3,"file":"usePersianNumberInput.d.ts","sourceRoot":"","sources":["../../src/hooks/usePersianNumberInput.ts"],"names":[],"mappings":"AACA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAmB,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMnF,UAAU,0BAA2B,SAAQ,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC;IACtF,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,qBAAqB,GAAI,kIAWnC,0BAA+B,KAAG,2BA0HpC,CAAC"}
@@ -9,55 +9,52 @@ const react_1 = require("react");
9
9
  const decimal_js_1 = __importDefault(require("decimal.js"));
10
10
  const transformNumber_1 = require("../utils/transformNumber");
11
11
  const digitUtils_1 = require("../utils/digitUtils");
12
+ // ۱. تعریف سیگنال منحصر به فرد برای خطای محدوده
13
+ const INVALID_RANGE_SIGNAL = Symbol("INVALID_RANGE");
12
14
  const usePersianNumberInput = ({ initialValue, separatorCount = 3, separatorChar = ',', locale = 'fa', showZero = false, onValueChange, min, max, maxDecimals, inputDecimalSeparator = '.', } = {}) => {
13
- const getSanitizedAndRoundedValue = (0, react_1.useCallback)((val) => {
15
+ // اسم تابع برای وضوح بیشتر تغییر کرد
16
+ const getSanitizedRoundedAndCheckedValue = (0, react_1.useCallback)((val) => {
17
+ // ۲. نوع خروجی تابع تغییر کرد
14
18
  if (val === null || val === undefined)
15
19
  return undefined;
16
20
  let sanitized = (0, digitUtils_1.sanitizeNumericInput)(String(val), inputDecimalSeparator);
17
- // مقادیر بینابینی '-', '.', '-.' را فعلا نگه دار
21
+ // اجازه عبور موقت به مقادیر بینابینی
18
22
  if (sanitized === '-' || sanitized === '.' || sanitized === '-.') {
19
- // این مقادیر نباید به عنوان مقدار نهایی باقی بمانند اگر showZero=false
20
- // در انتها بررسی می‌شود
23
+ // در انتها بررسی showZero برای اینها انجام می‌شود
21
24
  }
22
25
  else if (sanitized) { // اگر رشته خالی یا فقط بینابینی نیست
23
26
  try {
27
+ // تبدیل به Decimal فقط برای بررسی محدوده
24
28
  const numericValue = new decimal_js_1.default(sanitized);
25
- // ****** اصلاح مشکل ۲: Clamp کردن مقدار ******
29
+ // ۳. بررسی محدوده و برگرداندن سیگنال در صورت خطا
26
30
  if (min !== undefined && numericValue.lt(min)) {
27
- console.warn(`Value ${sanitized} is less than min ${min}. Clamping to min.`);
28
- // مقدار را به min محدود کن: min را به رشته تبدیل، sanitize و round کن
29
- const minStr = (0, digitUtils_1.sanitizeNumericInput)(String(min), '.'); // min را با نقطه استاندارد sanitize کن
30
- sanitized = (0, digitUtils_1.roundToDecimals)(minStr, maxDecimals);
31
+ console.warn(`Value ${sanitized} is less than min ${min}. Input ignored.`);
32
+ return INVALID_RANGE_SIGNAL; // <<< برگرداندن سیگنال
31
33
  }
32
- else if (max !== undefined && numericValue.gt(max)) {
33
- console.warn(`Value ${sanitized} exceeds max ${max}. Clamping to max.`);
34
- // مقدار را به max محدود کن: max را به رشته تبدیل، sanitize و round کن
35
- const maxStr = (0, digitUtils_1.sanitizeNumericInput)(String(max), '.'); // max را با نقطه استاندارد sanitize کن
36
- sanitized = (0, digitUtils_1.roundToDecimals)(maxStr, maxDecimals);
37
- }
38
- else {
39
- // اگر در محدوده بود، فقط مقدار اصلی sanitize شده را گرد کن
40
- sanitized = (0, digitUtils_1.roundToDecimals)(sanitized, maxDecimals);
34
+ if (max !== undefined && numericValue.gt(max)) {
35
+ console.warn(`Value ${sanitized} exceeds max ${max}. Input ignored.`);
36
+ return INVALID_RANGE_SIGNAL; // <<< برگرداندن سیگنال
41
37
  }
38
+ // اگر در محدوده بود، گرد کردن را اعمال کن
39
+ sanitized = (0, digitUtils_1.roundToDecimals)(sanitized, maxDecimals);
42
40
  }
43
41
  catch (error) {
44
- // اگر در تبدیل به Decimal خطا رخ داد (مثلا برای مقادیر بینابینی نامعتبر)
45
42
  console.warn(`Error processing sanitized value: ${sanitized}`, error);
46
- return undefined; // مقدار نامعتبر است
43
+ return undefined; // خطای پردازش به معنی نامعتبر بودن است
47
44
  }
48
45
  }
49
46
  else {
50
47
  // اگر sanitizeNumericInput رشته خالی برگرداند
51
48
  return undefined;
52
49
  }
53
- // مدیریت showZero برای مقدار نهایی (بعد از clamp و round)
50
+ // مدیریت showZero برای مقدار نهایی (بعد از بررسی محدوده و گرد کردن)
54
51
  if (!showZero) {
55
- // اگر مقادیر بینابینی هستند، آنها را به undefined تبدیل کن
52
+ // مقادیر بینابینی را حذف کن اگر showZero=false
56
53
  if (sanitized === '-' || sanitized === '.' || sanitized === '-.') {
57
54
  return undefined;
58
55
  }
59
- // اگر مقدار عددی صفر است (و صرفا نقطه انتهایی ندارد)
60
56
  try {
57
+ // مقادیر صفر را حذف کن (مگر اینکه نقطه انتهایی داشته باشد)
61
58
  if (sanitized && new decimal_js_1.default(sanitized).isZero() && !sanitized.endsWith('.')) {
62
59
  return undefined;
63
60
  }
@@ -67,47 +64,52 @@ const usePersianNumberInput = ({ initialValue, separatorCount = 3, separatorChar
67
64
  // در نهایت، اگر رشته خالی شده، undefined برگردان
68
65
  return sanitized === '' ? undefined : sanitized;
69
66
  }, [inputDecimalSeparator, min, max, maxDecimals, showZero]);
70
- const [rawValue, setRawValue] = (0, react_1.useState)(() => getSanitizedAndRoundedValue(initialValue));
71
- (0, react_1.useEffect)(() => {
72
- // فقط اگر initialValue واقعا تغییر کرده، rawValue را آپدیت کن
73
- // این از بازنشانی ناخواسته جلوگیری می‌کند
74
- const newSanitized = getSanitizedAndRoundedValue(initialValue);
75
- // مقایسه دقیق لازم است
76
- if (newSanitized !== rawValue) {
77
- // setRawValue(newSanitized); // آیا این لازم است؟ شاید باعث رفتار ناخواسته شود
78
- }
79
- // TODO: بررسی دقیق رفتار useEffect با initialValue
80
- }, [initialValue]); // getSanitizedAndRoundedValue را از وابستگی حذف کردیم تا از لوپ جلوگیری شود
67
+ // ۵. مدیریت سیگنال در مقدار اولیه
68
+ const [rawValue, setRawValue] = (0, react_1.useState)(() => {
69
+ const initialProcessed = getSanitizedRoundedAndCheckedValue(initialValue);
70
+ // اگر مقدار اولیه خارج از محدوده بود، با undefined شروع کن
71
+ return initialProcessed === INVALID_RANGE_SIGNAL ? undefined : initialProcessed;
72
+ });
73
+ // useEffect برای initialValue ممکن است نیاز به بازبینی داشته باشد
81
74
  const displayValue = (0, react_1.useMemo)(() => {
82
75
  const options = { separatorCount, separatorChar, locale, showZero, maxDecimals };
83
- // تابع transformNumber حالا باید بتواند rawValue های مختلف را به درستی نمایش دهد
84
76
  return (0, transformNumber_1.transformNumber)(rawValue, options);
85
77
  }, [rawValue, separatorCount, separatorChar, locale, showZero, maxDecimals]);
78
+ // ۴. اصلاح handleChange برای پردازش سیگنال
86
79
  const handleChange = (0, react_1.useCallback)((event) => {
87
80
  const inputValue = event.target.value;
88
- const newRawValue = getSanitizedAndRoundedValue(inputValue);
89
- // فقط اگر مقدار خام جدید با مقدار قبلی متفاوت است، آپدیت کن
90
- if (newRawValue !== rawValue) {
91
- setRawValue(newRawValue);
81
+ // دریافت مقدار پردازش شده یا سیگنال خطا
82
+ const processedValue = getSanitizedRoundedAndCheckedValue(inputValue);
83
+ // اگر سیگنال خطا دریافت شد، هیچ کاری نکن (مقدار قبلی حفظ می‌شود)
84
+ if (processedValue === INVALID_RANGE_SIGNAL) {
85
+ // اینجا می‌توانید بازخورد بصری به کاربر بدهید (مثلا لرزش input)
86
+ return;
87
+ }
88
+ // اگر مقدار معتبر بود (رشته یا undefined) و با مقدار فعلی فرق داشت
89
+ if (processedValue !== rawValue) {
90
+ setRawValue(processedValue);
92
91
  if (onValueChange) {
93
- onValueChange(newRawValue);
92
+ onValueChange(processedValue);
94
93
  }
95
94
  }
96
- // نکته: اگر کاربر کاراکتری وارد کند که باعث clamp شدن شود (مثلا در max)،
97
- // newRawValue ممکن است با rawValue قبلی *متفاوت* باشد (برابر با max)،
98
- // ولی با چیزی که کاربر تایپ کرده متفاوت است. input باید آپدیت شود تا مقدار clamp شده را نشان دهد.
99
- // منطق فعلی این کار را انجام می‌دهد.
100
- }, [rawValue, getSanitizedAndRoundedValue, onValueChange] // getSanitizedAndRoundedValue اینجا لازم است
95
+ }, [rawValue, getSanitizedRoundedAndCheckedValue, onValueChange] // تابع پردازشگر به وابستگی‌ها اضافه شد
101
96
  );
97
+ // ۴. اصلاح handleSetValue برای پردازش سیگنال
102
98
  const handleSetValue = (0, react_1.useCallback)((newValue) => {
103
- const newRawValue = getSanitizedAndRoundedValue(newValue);
104
- if (newRawValue !== rawValue) {
105
- setRawValue(newRawValue);
99
+ const processedValue = getSanitizedRoundedAndCheckedValue(newValue);
100
+ // اگر مقدار جدید خارج از محدوده است، درخواست را نادیده بگیر
101
+ if (processedValue === INVALID_RANGE_SIGNAL) {
102
+ console.warn(`setValue ignored: Value ${newValue} is out of range [${min}, ${max}].`);
103
+ return;
104
+ }
105
+ // اگر مقدار معتبر و متفاوت بود، تنظیم کن
106
+ if (processedValue !== rawValue) {
107
+ setRawValue(processedValue);
106
108
  if (onValueChange) {
107
- onValueChange(newRawValue);
109
+ onValueChange(processedValue);
108
110
  }
109
111
  }
110
- }, [rawValue, getSanitizedAndRoundedValue, onValueChange] // getSanitizedAndRoundedValue اینجا لازم است
112
+ }, [rawValue, min, max, getSanitizedRoundedAndCheckedValue, onValueChange] // min/max هم برای پیام هشدار اضافه شد
111
113
  );
112
114
  return { value: displayValue, onChange: handleChange, setValue: handleSetValue, rawValue };
113
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"usePersianNumberInput.js","sourceRoot":"","sources":["../../src/hooks/usePersianNumberInput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePersianNumberInput.js","sourceRoot":"","sources":["../../src/hooks/usePersianNumberInput.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "persian-number-input",
3
- "version": "4.0.7",
3
+ "version": "4.0.8",
4
4
  "description": "React component for Persian, Indic, or English localized number input with customizable digit grouping",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",