persian-number-input 4.3.1 → 4.3.4

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,2 +1,2 @@
1
- import "@testing-library/jest-dom";
1
+ export {};
2
2
  //# sourceMappingURL=PersianNumberInput.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PersianNumberInput.test.d.ts","sourceRoot":"","sources":["../../src/components/PersianNumberInput.test.tsx"],"names":[],"mappings":"AAGA,OAAO,2BAA2B,CAAC"}
1
+ {"version":3,"file":"PersianNumberInput.test.d.ts","sourceRoot":"","sources":["../../src/components/PersianNumberInput.test.tsx"],"names":[],"mappings":""}
@@ -4,34 +4,373 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("@testing-library/react");
8
7
  const vitest_1 = require("vitest");
8
+ const react_1 = require("@testing-library/react");
9
9
  const PersianNumberInput_1 = __importDefault(require("./PersianNumberInput"));
10
- require("@testing-library/jest-dom");
11
- (0, vitest_1.describe)("PersianNumberInput Component", () => {
12
- (0, vitest_1.it)("should not allow typing negative signs", () => {
13
- (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
14
- const input = react_1.screen.getByRole("textbox");
15
- react_1.fireEvent.change(input, { target: { value: "-500" } });
16
- (0, vitest_1.expect)(input.value).toBe("۵۰۰");
17
- });
18
- (0, vitest_1.it)("should fix leading zeros on change", () => {
19
- (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { locale: "en" }));
20
- const input = react_1.screen.getByRole("textbox");
21
- react_1.fireEvent.change(input, { target: { value: "000123" } });
22
- (0, vitest_1.expect)(input.value).toBe("123");
23
- });
24
- (0, vitest_1.it)("should show suffix correctly", () => {
25
- (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { suffix: "\u062A\u0648\u0645\u0627\u0646", locale: "en" }));
26
- const input = react_1.screen.getByRole("textbox");
27
- react_1.fireEvent.change(input, { target: { value: "2000" } });
28
- (0, vitest_1.expect)(input.value).toBe("2,000 تومان");
29
- });
30
- (0, vitest_1.it)("should use custom decimal character", () => {
31
- (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { decimalChar: "/", locale: "en" }));
32
- const input = react_1.screen.getByRole("textbox");
33
- react_1.fireEvent.change(input, { target: { value: "10/5" } });
34
- (0, vitest_1.expect)(input.value).toBe("10/5");
10
+ (0, vitest_1.describe)("PersianNumberInput", () => {
11
+ (0, vitest_1.describe)("rendering", () => {
12
+ (0, vitest_1.it)("renders an input element", () => {
13
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
14
+ const input = react_1.screen.getByRole("textbox");
15
+ (0, vitest_1.expect)(input).toBeInTheDocument();
16
+ });
17
+ (0, vitest_1.it)("has type=text", () => {
18
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
19
+ const input = react_1.screen.getByRole("textbox");
20
+ (0, vitest_1.expect)(input).toHaveAttribute("type", "text");
21
+ });
22
+ (0, vitest_1.it)("has inputMode=decimal", () => {
23
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
24
+ const input = react_1.screen.getByRole("textbox");
25
+ (0, vitest_1.expect)(input).toHaveAttribute("inputMode", "decimal");
26
+ });
27
+ (0, vitest_1.it)("has dir=ltr", () => {
28
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
29
+ const input = react_1.screen.getByRole("textbox");
30
+ (0, vitest_1.expect)(input).toHaveAttribute("dir", "ltr");
31
+ });
32
+ (0, vitest_1.it)("renders with empty value by default", () => {
33
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
34
+ const input = react_1.screen.getByRole("textbox");
35
+ (0, vitest_1.expect)(input).toHaveValue("");
36
+ });
37
+ (0, vitest_1.it)("renders with initialValue", () => {
38
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 1234 }));
39
+ const input = react_1.screen.getByRole("textbox");
40
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
41
+ });
42
+ (0, vitest_1.it)("renders with string initialValue", () => {
43
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: "5678.9" }));
44
+ const input = react_1.screen.getByRole("textbox");
45
+ (0, vitest_1.expect)(input).toHaveValue("۵,۶۷۸٫۹");
46
+ });
47
+ });
48
+ (0, vitest_1.describe)("props forwarding", () => {
49
+ (0, vitest_1.it)("forwards placeholder prop", () => {
50
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { placeholder: "Enter number" }));
51
+ const input = react_1.screen.getByRole("textbox");
52
+ (0, vitest_1.expect)(input).toHaveAttribute("placeholder", "Enter number");
53
+ });
54
+ (0, vitest_1.it)("forwards disabled prop", () => {
55
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { disabled: true }));
56
+ const input = react_1.screen.getByRole("textbox");
57
+ (0, vitest_1.expect)(input).toBeDisabled();
58
+ });
59
+ (0, vitest_1.it)("forwards className prop", () => {
60
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { className: "my-class" }));
61
+ const input = react_1.screen.getByRole("textbox");
62
+ (0, vitest_1.expect)(input).toHaveClass("my-class");
63
+ });
64
+ (0, vitest_1.it)("forwards id prop", () => {
65
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { id: "my-input" }));
66
+ const input = react_1.screen.getByRole("textbox");
67
+ (0, vitest_1.expect)(input).toHaveAttribute("id", "my-input");
68
+ });
69
+ (0, vitest_1.it)("forwards style prop", () => {
70
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { style: { color: "red" } }));
71
+ const input = react_1.screen.getByRole("textbox");
72
+ (0, vitest_1.expect)(input).toHaveStyle({ color: "rgb(255, 0, 0)" });
73
+ });
74
+ (0, vitest_1.it)("forwards autoFocus prop", () => {
75
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { autoFocus: true }));
76
+ const input = react_1.screen.getByRole("textbox");
77
+ (0, vitest_1.expect)(input).toHaveFocus();
78
+ });
79
+ });
80
+ (0, vitest_1.describe)("onChange", () => {
81
+ (0, vitest_1.it)("updates display on input", () => {
82
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
83
+ const input = react_1.screen.getByRole("textbox");
84
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
85
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
86
+ });
87
+ (0, vitest_1.it)("handles Persian digits input", () => {
88
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
89
+ const input = react_1.screen.getByRole("textbox");
90
+ react_1.fireEvent.change(input, { target: { value: "۱۲۳۴" } });
91
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
92
+ });
93
+ (0, vitest_1.it)("handles Arabic digits input", () => {
94
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
95
+ const input = react_1.screen.getByRole("textbox");
96
+ react_1.fireEvent.change(input, { target: { value: "١٢٣٤" } });
97
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
98
+ });
99
+ (0, vitest_1.it)("handles decimal input", () => {
100
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
101
+ const input = react_1.screen.getByRole("textbox");
102
+ react_1.fireEvent.change(input, { target: { value: "12.34" } });
103
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫۳۴");
104
+ });
105
+ (0, vitest_1.it)("handles clearing input", () => {
106
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 1234 }));
107
+ const input = react_1.screen.getByRole("textbox");
108
+ react_1.fireEvent.change(input, { target: { value: "" } });
109
+ (0, vitest_1.expect)(input).toHaveValue("");
110
+ });
111
+ (0, vitest_1.it)("handles typing with trailing dot", () => {
112
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
113
+ const input = react_1.screen.getByRole("textbox");
114
+ react_1.fireEvent.change(input, { target: { value: "12." } });
115
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫");
116
+ });
117
+ });
118
+ (0, vitest_1.describe)("onValueChange", () => {
119
+ (0, vitest_1.it)("calls onValueChange with raw value", () => {
120
+ const onValueChange = vitest_1.vi.fn();
121
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { onValueChange: onValueChange }));
122
+ const input = react_1.screen.getByRole("textbox");
123
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
124
+ (0, vitest_1.expect)(onValueChange).toHaveBeenCalledWith("1234");
125
+ });
126
+ (0, vitest_1.it)("calls onValueChange when cleared", () => {
127
+ const onValueChange = vitest_1.vi.fn();
128
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 1234, onValueChange: onValueChange }));
129
+ const input = react_1.screen.getByRole("textbox");
130
+ react_1.fireEvent.change(input, { target: { value: "" } });
131
+ (0, vitest_1.expect)(onValueChange).toHaveBeenCalledWith("");
132
+ });
133
+ });
134
+ (0, vitest_1.describe)("max validation", () => {
135
+ (0, vitest_1.it)("blocks input above max", () => {
136
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { max: 100 }));
137
+ const input = react_1.screen.getByRole("textbox");
138
+ react_1.fireEvent.change(input, { target: { value: "150" } });
139
+ (0, vitest_1.expect)(input).toHaveValue("");
140
+ });
141
+ (0, vitest_1.it)("allows input at max", () => {
142
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { max: 100 }));
143
+ const input = react_1.screen.getByRole("textbox");
144
+ react_1.fireEvent.change(input, { target: { value: "100" } });
145
+ (0, vitest_1.expect)(input).toHaveValue("۱۰۰");
146
+ });
147
+ (0, vitest_1.it)("allows input below max", () => {
148
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { max: 100 }));
149
+ const input = react_1.screen.getByRole("textbox");
150
+ react_1.fireEvent.change(input, { target: { value: "50" } });
151
+ (0, vitest_1.expect)(input).toHaveValue("۵۰");
152
+ });
153
+ });
154
+ (0, vitest_1.describe)("min validation (onBlur)", () => {
155
+ (0, vitest_1.it)("clamps to min on blur", () => {
156
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 5, min: 10 }));
157
+ const input = react_1.screen.getByRole("textbox");
158
+ react_1.fireEvent.blur(input);
159
+ (0, vitest_1.expect)(input).toHaveValue("۱۰");
160
+ });
161
+ (0, vitest_1.it)("does not change value above min on blur", () => {
162
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 50, min: 10 }));
163
+ const input = react_1.screen.getByRole("textbox");
164
+ react_1.fireEvent.blur(input);
165
+ (0, vitest_1.expect)(input).toHaveValue("۵۰");
166
+ });
167
+ });
168
+ (0, vitest_1.describe)("maxDecimals", () => {
169
+ (0, vitest_1.it)("truncates decimals to maxDecimals", () => {
170
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { maxDecimals: 2 }));
171
+ const input = react_1.screen.getByRole("textbox");
172
+ react_1.fireEvent.change(input, { target: { value: "12.3456" } });
173
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫۳۴");
174
+ });
175
+ });
176
+ (0, vitest_1.describe)("suffix", () => {
177
+ (0, vitest_1.it)("displays suffix", () => {
178
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { suffix: "\u0645\u062A\u0631" }));
179
+ const input = react_1.screen.getByRole("textbox");
180
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
181
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴ متر");
182
+ });
183
+ });
184
+ (0, vitest_1.describe)("locale", () => {
185
+ (0, vitest_1.it)("formats with English locale", () => {
186
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { locale: "en" }));
187
+ const input = react_1.screen.getByRole("textbox");
188
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
189
+ (0, vitest_1.expect)(input).toHaveValue("1,234");
190
+ });
191
+ (0, vitest_1.it)("keeps dot as decimal separator with English locale", () => {
192
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { locale: "en" }));
193
+ const input = react_1.screen.getByRole("textbox");
194
+ react_1.fireEvent.change(input, { target: { value: "12.34" } });
195
+ (0, vitest_1.expect)(input).toHaveValue("12.34");
196
+ });
197
+ });
198
+ (0, vitest_1.describe)("separator customization", () => {
199
+ (0, vitest_1.it)("uses custom separatorChar", () => {
200
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { separatorChar: "/" }));
201
+ const input = react_1.screen.getByRole("textbox");
202
+ react_1.fireEvent.change(input, { target: { value: "1000000" } });
203
+ (0, vitest_1.expect)(input).toHaveValue("۱/۰۰۰/۰۰۰");
204
+ });
205
+ (0, vitest_1.it)("uses custom separatorCount", () => {
206
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { separatorCount: 2 }));
207
+ const input = react_1.screen.getByRole("textbox");
208
+ react_1.fireEvent.change(input, { target: { value: "10000" } });
209
+ (0, vitest_1.expect)(input).toHaveValue("۱,۰۰,۰۰");
210
+ });
211
+ });
212
+ (0, vitest_1.describe)("showZero", () => {
213
+ (0, vitest_1.it)("shows zero when showZero is true and input is empty", () => {
214
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { showZero: true }));
215
+ const input = react_1.screen.getByRole("textbox");
216
+ (0, vitest_1.expect)(input).toHaveValue("۰");
217
+ });
218
+ (0, vitest_1.it)("shows zero with suffix", () => {
219
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { showZero: true, suffix: "\u0631\u06CC\u0627\u0644" }));
220
+ const input = react_1.screen.getByRole("textbox");
221
+ (0, vitest_1.expect)(input).toHaveValue("۰ ریال");
222
+ });
223
+ });
224
+ (0, vitest_1.describe)("edge cases", () => {
225
+ (0, vitest_1.it)("handles negative numbers (stripped by sanitization)", () => {
226
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
227
+ const input = react_1.screen.getByRole("textbox");
228
+ react_1.fireEvent.change(input, { target: { value: "-1234" } });
229
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
230
+ });
231
+ (0, vitest_1.it)("handles very large numbers", () => {
232
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
233
+ const input = react_1.screen.getByRole("textbox");
234
+ react_1.fireEvent.change(input, { target: { value: "999999999" } });
235
+ (0, vitest_1.expect)(input).toHaveValue("۹۹۹,۹۹۹,۹۹۹");
236
+ });
237
+ (0, vitest_1.it)("handles multiple rapid changes", () => {
238
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
239
+ const input = react_1.screen.getByRole("textbox");
240
+ react_1.fireEvent.change(input, { target: { value: "123" } });
241
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
242
+ react_1.fireEvent.change(input, { target: { value: "12345" } });
243
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
244
+ react_1.fireEvent.change(input, { target: { value: "123" } });
245
+ (0, vitest_1.expect)(input).toHaveValue("۱۲۳");
246
+ });
247
+ (0, vitest_1.it)("handles typing then clearing", () => {
248
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
249
+ const input = react_1.screen.getByRole("textbox");
250
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
251
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
252
+ react_1.fireEvent.change(input, { target: { value: "" } });
253
+ (0, vitest_1.expect)(input).toHaveValue("");
254
+ });
255
+ });
256
+ (0, vitest_1.describe)("ref forwarding", () => {
257
+ (0, vitest_1.it)("forwards ref to input element", () => {
258
+ const ref = vitest_1.vi.fn();
259
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { ref: ref }));
260
+ (0, vitest_1.expect)(ref).toHaveBeenCalled();
261
+ (0, vitest_1.expect)(ref.mock.calls[0][0]).toBeInstanceOf(HTMLInputElement);
262
+ });
263
+ });
264
+ (0, vitest_1.describe)("onBlur callback", () => {
265
+ (0, vitest_1.it)("calls external onBlur", () => {
266
+ const onBlur = vitest_1.vi.fn();
267
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { onBlur: onBlur }));
268
+ const input = react_1.screen.getByRole("textbox");
269
+ react_1.fireEvent.blur(input);
270
+ (0, vitest_1.expect)(onBlur).toHaveBeenCalled();
271
+ });
272
+ });
273
+ (0, vitest_1.describe)("RTL/LTR direction handling", () => {
274
+ (0, vitest_1.it)("forces dir=ltr even when dir=rtl is passed", () => {
275
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { dir: "rtl" }));
276
+ const input = react_1.screen.getByRole("textbox");
277
+ (0, vitest_1.expect)(input).toHaveAttribute("dir", "ltr");
278
+ });
279
+ (0, vitest_1.it)("maintains correct input behavior with ltr direction - typing", () => {
280
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
281
+ const input = react_1.screen.getByRole("textbox");
282
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
283
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
284
+ });
285
+ (0, vitest_1.it)("maintains correct input behavior with ltr direction - deleting last character", () => {
286
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 12345 }));
287
+ const input = react_1.screen.getByRole("textbox");
288
+ (0, vitest_1.expect)(input).toHaveValue("۱۲,۳۴۵");
289
+ react_1.fireEvent.change(input, { target: { value: "۱۲,۳۴" } });
290
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
291
+ (0, vitest_1.expect)(input).toHaveAttribute("dir", "ltr");
292
+ });
293
+ (0, vitest_1.it)("maintains correct input behavior with ltr direction - deleting first character", () => {
294
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 12345 }));
295
+ const input = react_1.screen.getByRole("textbox");
296
+ (0, vitest_1.expect)(input).toHaveValue("۱۲,۳۴۵");
297
+ react_1.fireEvent.change(input, { target: { value: "۲,۳۴۵" } });
298
+ (0, vitest_1.expect)(input).toHaveValue("۲,۳۴۵");
299
+ });
300
+ (0, vitest_1.it)("maintains correct input behavior with ltr direction - deleting middle character", () => {
301
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 123456 }));
302
+ const input = react_1.screen.getByRole("textbox");
303
+ (0, vitest_1.expect)(input).toHaveValue("۱۲۳,۴۵۶");
304
+ react_1.fireEvent.change(input, { target: { value: "۱۲۴,۵۶" } });
305
+ (0, vitest_1.expect)(input).toHaveValue("۱۲,۴۵۶");
306
+ });
307
+ (0, vitest_1.it)("handles decimal deletion correctly in ltr mode", () => {
308
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: "12.34" }));
309
+ const input = react_1.screen.getByRole("textbox");
310
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫۳۴");
311
+ react_1.fireEvent.change(input, { target: { value: "۱۲" } });
312
+ (0, vitest_1.expect)(input).toHaveValue("۱۲");
313
+ });
314
+ (0, vitest_1.it)("handles partial decimal deletion correctly in ltr mode", () => {
315
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: "12.34" }));
316
+ const input = react_1.screen.getByRole("textbox");
317
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫۳۴");
318
+ react_1.fireEvent.change(input, { target: { value: "۱۲٫۳" } });
319
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫۳");
320
+ });
321
+ (0, vitest_1.it)("handles suffix deletion correctly in ltr mode", () => {
322
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { suffix: "\u0645\u062A\u0631" }));
323
+ const input = react_1.screen.getByRole("textbox");
324
+ react_1.fireEvent.change(input, { target: { value: "1234" } });
325
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴ متر");
326
+ react_1.fireEvent.change(input, { target: { value: "۱,۲۳" } });
327
+ (0, vitest_1.expect)(input).toHaveValue("۱۲۳ متر");
328
+ });
329
+ (0, vitest_1.it)("handles rapid character deletion in ltr mode", () => {
330
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 1234567 }));
331
+ const input = react_1.screen.getByRole("textbox");
332
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴,۵۶۷");
333
+ react_1.fireEvent.change(input, { target: { value: "۱,۲۳" } });
334
+ (0, vitest_1.expect)(input).toHaveValue("۱۲۳");
335
+ });
336
+ (0, vitest_1.it)("handles rapid character addition in ltr mode", () => {
337
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: 123 }));
338
+ const input = react_1.screen.getByRole("textbox");
339
+ (0, vitest_1.expect)(input).toHaveValue("۱۲۳");
340
+ react_1.fireEvent.change(input, { target: { value: "۱,۲۳۴,۵۶۷" } });
341
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴,۵۶۷");
342
+ });
343
+ (0, vitest_1.it)("handles mixed Persian/English digits deletion in ltr mode", () => {
344
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
345
+ const input = react_1.screen.getByRole("textbox");
346
+ react_1.fireEvent.change(input, { target: { value: "۱۲3۴" } });
347
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
348
+ react_1.fireEvent.change(input, { target: { value: "۱۲۴" } });
349
+ (0, vitest_1.expect)(input).toHaveValue("۱۲۴");
350
+ });
351
+ (0, vitest_1.it)("handles Arabic digit deletion in ltr mode", () => {
352
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
353
+ const input = react_1.screen.getByRole("textbox");
354
+ react_1.fireEvent.change(input, { target: { value: "١٢٣٤" } });
355
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
356
+ react_1.fireEvent.change(input, { target: { value: "١٢٤" } });
357
+ (0, vitest_1.expect)(input).toHaveValue("۱۲۴");
358
+ });
359
+ (0, vitest_1.it)("handles decimal point deletion from end in ltr mode", () => {
360
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, {}));
361
+ const input = react_1.screen.getByRole("textbox");
362
+ react_1.fireEvent.change(input, { target: { value: "12.34" } });
363
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫۳۴");
364
+ react_1.fireEvent.change(input, { target: { value: "۱۲." } });
365
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫");
366
+ });
367
+ (0, vitest_1.it)("handles decimal point deletion from middle in ltr mode", () => {
368
+ (0, react_1.render)((0, jsx_runtime_1.jsx)(PersianNumberInput_1.default, { initialValue: "12.34" }));
369
+ const input = react_1.screen.getByRole("textbox");
370
+ (0, vitest_1.expect)(input).toHaveValue("۱۲٫۳۴");
371
+ react_1.fireEvent.change(input, { target: { value: "۱۲۳۴" } });
372
+ (0, vitest_1.expect)(input).toHaveValue("۱,۲۳۴");
373
+ });
35
374
  });
36
375
  });
37
376
  //# sourceMappingURL=PersianNumberInput.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PersianNumberInput.test.js","sourceRoot":"","sources":["../../src/components/PersianNumberInput.test.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAmE;AACnE,mCAA8C;AAC9C,8EAAsD;AACtD,qCAAmC;AAEnC,IAAA,iBAAQ,EAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAA,WAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAA,cAAM,EAAC,uBAAC,4BAAkB,KAAG,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,cAAM,CAAC,SAAS,CAAC,SAAS,CAAqB,CAAC;QAE9D,iBAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,IAAA,cAAM,EAAC,uBAAC,4BAAkB,IAAC,MAAM,EAAC,IAAI,GAAG,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,cAAM,CAAC,SAAS,CAAC,SAAS,CAAqB,CAAC;QAE9D,iBAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzD,IAAA,eAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,IAAA,cAAM,EAAC,uBAAC,4BAAkB,IAAC,MAAM,EAAC,gCAAO,EAAC,MAAM,EAAC,IAAI,GAAG,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,cAAM,CAAC,SAAS,CAAC,SAAS,CAAqB,CAAC;QAE9D,iBAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,IAAA,cAAM,EAAC,uBAAC,4BAAkB,IAAC,WAAW,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,GAAG,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,cAAM,CAAC,SAAS,CAAC,SAAS,CAAqB,CAAC;QAE9D,iBAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"PersianNumberInput.test.js","sourceRoot":"","sources":["../../src/components/PersianNumberInput.test.tsx"],"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.3.1",
3
+ "version": "4.3.4",
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",
@@ -13,8 +13,8 @@
13
13
  "scripts": {
14
14
  "build": "tsc",
15
15
  "prepublishOnly": "npm run build",
16
- "test": "vitest",
17
- "prepare": "husky"
16
+ "test": "vitest run",
17
+ "test:watch": "vitest"
18
18
  },
19
19
  "keywords": [
20
20
  "react",
@@ -25,11 +25,11 @@
25
25
  "localization",
26
26
  "digit-grouping"
27
27
  ],
28
- "author": "Your Name",
28
+ "author": "Javad Sharifi",
29
29
  "license": "MIT",
30
30
  "repository": {
31
31
  "type": "git",
32
- "url": "https://github.com/javadSharifi/persian-number-input"
32
+ "url": "git+https://github.com/javadSharifi/persian-number-input.git"
33
33
  },
34
34
  "bugs": {
35
35
  "url": "https://github.com/javadSharifi/persian-number-input/issues"
@@ -43,17 +43,12 @@
43
43
  "@commitlint/config-conventional": "^20.2.0",
44
44
  "@testing-library/jest-dom": "^6.9.1",
45
45
  "@testing-library/react": "^16.3.1",
46
- "@types/prop-types": "^15.7.15",
47
46
  "@types/react": "^19.2.7",
48
- "@types/react-dom": "^19.2.3",
49
- "husky": "^9.1.7",
50
47
  "jsdom": "^27.3.0",
51
- "lint-staged": "^16.2.7",
52
48
  "typescript": "^5.9.3",
53
- "vitest": "^4.0.16"
49
+ "vitest": "^4.1.6"
54
50
  },
55
51
  "dependencies": {
56
- "@vitejs/plugin-react": "^5.1.2",
57
52
  "decimal.js": "^10.6.0"
58
53
  }
59
54
  }