persian-number-input 3.0.6 → 3.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.
package/README.md CHANGED
@@ -59,7 +59,7 @@ Displayed Output: ۱۲۳,۴۵۶
59
59
  English Output: 123456
60
60
  ```
61
61
 
62
- ![Output Example](https://your-domain.com/output-example.png)
62
+ ![Size Example](./public/size.png)
63
63
 
64
64
  ### 📚 Props Reference
65
65
 
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  interface PersianNumberInputCustomProps {
3
- value: string;
3
+ initialValue?: string;
4
4
  separatorCount?: number;
5
5
  separatorChar?: string;
6
6
  lang?: 'fa' | 'in' | 'en';
7
- onChange: (value: string) => void;
7
+ onChangeValue?: (englishNumber: string) => void;
8
8
  }
9
9
  type AllowedInputProps = Pick<React.InputHTMLAttributes<HTMLInputElement>, 'className' | 'style' | 'placeholder' | 'disabled' | 'readOnly' | 'id' | 'name' | 'autoComplete' | 'autoFocus' | 'maxLength' | 'minLength' | 'required' | 'title' | 'dir' | 'onClick' | 'onKeyDown' | 'onKeyUp' | 'onKeyPress' | 'onFocus' | 'onBlur' | 'onMouseDown' | 'onMouseUp' | 'onMouseEnter' | 'onMouseLeave' | 'onTouchStart' | 'onTouchEnd' | 'onPaste'>;
10
10
  export type PersianNumberInputProps = PersianNumberInputCustomProps & AllowedInputProps;
11
- declare const PersianNumberInput: ({ value, separatorCount, separatorChar, lang, onChange, style, ...rest }: PersianNumberInputProps) => React.JSX.Element;
11
+ declare const PersianNumberInput: React.FC<PersianNumberInputProps>;
12
12
  export default PersianNumberInput;
@@ -9,27 +9,24 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React from 'react';
12
+ import React, { useCallback } from 'react';
13
13
  import { toLocalizedDigits, groupDigits, convertToEnglishDigits } from '../utils/digitUtils';
14
14
  // استایل پایه برای input
15
15
  const baseInputStyle = {
16
16
  border: '1px solid #ccc',
17
17
  borderRadius: '4px',
18
- padding: '8px 12px',
19
- fontSize: '14px',
20
- outline: 'none',
21
18
  };
22
19
  const PersianNumberInput = (_a) => {
23
- var { value, separatorCount = 0, separatorChar = ',', lang = 'fa', onChange, style } = _a, rest = __rest(_a, ["value", "separatorCount", "separatorChar", "lang", "onChange", "style"]);
24
- // تبدیل مقدار به فرمت نمایشی
25
- const numericValue = convertToEnglishDigits(value).replace(/\D/g, '');
26
- const formattedValue = groupDigits(numericValue, separatorCount, separatorChar);
20
+ var { initialValue = '', separatorCount = 0, separatorChar = ',', lang = 'fa', onChangeValue, style } = _a, rest = __rest(_a, ["initialValue", "separatorCount", "separatorChar", "lang", "onChangeValue", "style"]);
21
+ const [value, setValue] = React.useState(() => convertToEnglishDigits(initialValue).replace(/\D/g, ''));
22
+ const handleChange = useCallback((e) => {
23
+ const input = convertToEnglishDigits(e.target.value).replace(/\D/g, '');
24
+ setValue(input);
25
+ if (onChangeValue)
26
+ onChangeValue(input);
27
+ }, [onChangeValue]);
28
+ const formattedValue = groupDigits(value, separatorCount, separatorChar);
27
29
  const displayValue = lang === 'en' ? formattedValue : toLocalizedDigits(formattedValue, lang);
28
- // هندل تغییرات
29
- const handleChange = (e) => {
30
- const newValue = convertToEnglishDigits(e.target.value).replace(/\D/g, '');
31
- onChange(newValue);
32
- };
33
30
  const mergedStyle = Object.assign(Object.assign({}, baseInputStyle), style);
34
31
  return React.createElement("input", Object.assign({ value: displayValue, onChange: handleChange, style: mergedStyle }, rest));
35
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PersianNumberInput.js","sourceRoot":"","sources":["../../src/components/PersianNumberInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA4C7F,yBAAyB;AACzB,MAAM,cAAc,GAAwB;IACxC,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,MAAM;CAClB,CAAC;AAKF,MAAM,kBAAkB,GAAG,CAAC,EAQF,EAAE,EAAE;QARF,EACxB,KAAK,EACL,cAAc,GAAG,CAAC,EAClB,aAAa,GAAG,GAAG,EACnB,IAAI,GAAG,IAAI,EACX,QAAQ,EACR,KAAK,OAEiB,EADnB,IAAI,cAPiB,yEAQ3B,CADU;IAEP,6BAA6B;IAC7B,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,WAAW,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAChF,MAAM,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAE9F,eAAe;IACf,MAAM,YAAY,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC5D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3E,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,WAAW,mCAAQ,cAAc,GAAK,KAAK,CAAE,CAAC;IAEpD,OAAO,6CACH,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,WAAW,IACd,IAAI,EACV,CAAC;AACP,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"PersianNumberInput.js","sourceRoot":"","sources":["../../src/components/PersianNumberInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA4C7F,yBAAyB;AACzB,MAAM,cAAc,GAAwB;IACxC,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,KAAK;CACtB,CAAC;AAKF,MAAM,kBAAkB,GAAsC,CAAC,EAQ9D,EAAE,EAAE;QAR0D,EAC3D,YAAY,GAAG,EAAE,EACjB,cAAc,GAAG,CAAC,EAClB,aAAa,GAAG,GAAG,EACnB,IAAI,GAAG,IAAI,EACX,aAAa,EACb,KAAK,OAER,EADM,IAAI,cAPoD,qFAQ9D,CADU;IAEP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAExG,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAsC,EAAE,EAAE;QACxE,MAAM,KAAK,GAAG,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,aAAa;YAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAE9F,MAAM,WAAW,mCAAQ,cAAc,GAAK,KAAK,CAAE,CAAC;IAEpD,OAAO,6CACH,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,WAAW,IACd,IAAI,EACV,CAAC;AACP,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "persian-number-input",
3
- "version": "3.0.6",
3
+ "version": "3.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",