@dartech/arsenal-ui 1.4.4 → 1.4.5
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +6 -16
- package/package.json +2 -2
- package/src/lib/Forms/ControlPhoneInput.d.ts +3 -1
package/index.js
CHANGED
@@ -2548,33 +2548,23 @@ var img$2 = "data:image/svg+xml,%3csvg width='32' height='24' viewBox='0 0 32 24
|
|
2548
2548
|
|
2549
2549
|
const ControlPhoneInput = _a => {
|
2550
2550
|
var {
|
2551
|
+
control,
|
2551
2552
|
name,
|
2552
2553
|
label,
|
2553
2554
|
required,
|
2554
2555
|
mask = '+7 (799) 999 99 99'
|
2555
2556
|
} = _a,
|
2556
|
-
textFieldProps = __rest(_a, ["name", "label", "required", "mask"]);
|
2557
|
-
const {
|
2558
|
-
control,
|
2559
|
-
watch,
|
2560
|
-
trigger
|
2561
|
-
} = useFormContext();
|
2562
|
-
const phoneNumber = watch(name);
|
2563
|
-
useEffect(() => {
|
2564
|
-
if (/(\+7\s\(\d{3}\)\s)(\d{3}\s\d{2})(\s\d{2})/.test(phoneNumber)) {
|
2565
|
-
trigger(name);
|
2566
|
-
}
|
2567
|
-
}, [phoneNumber, trigger, name]);
|
2557
|
+
textFieldProps = __rest(_a, ["control", "name", "label", "required", "mask"]);
|
2568
2558
|
return jsx(Controller, {
|
2569
2559
|
control: control,
|
2570
2560
|
name: name,
|
2571
2561
|
rules: {
|
2572
2562
|
required: required && 'Please, fill this field',
|
2573
2563
|
validate: val => {
|
2574
|
-
if (
|
2575
|
-
return
|
2564
|
+
if (!/(\+7\s\(\d{3}\)\s)(\d{3}\s\d{2})(\s\d{2})/.test(val)) {
|
2565
|
+
return 'Incorrect phone number format';
|
2576
2566
|
}
|
2577
|
-
return
|
2567
|
+
return true;
|
2578
2568
|
}
|
2579
2569
|
},
|
2580
2570
|
render: ({
|
@@ -2585,7 +2575,7 @@ const ControlPhoneInput = _a => {
|
|
2585
2575
|
}) => jsx(InputMask, Object.assign({
|
2586
2576
|
mask: mask
|
2587
2577
|
}, field, {
|
2588
|
-
children:
|
2578
|
+
children: jsx(TextField, Object.assign({
|
2589
2579
|
fullWidth: true,
|
2590
2580
|
size: "small",
|
2591
2581
|
label: required && label ? jsxs(Fragment, {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dartech/arsenal-ui",
|
3
|
-
"version": "1.4.
|
3
|
+
"version": "1.4.5",
|
4
4
|
"author": "DAR",
|
5
5
|
"publishConfig": {
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
@@ -29,7 +29,7 @@
|
|
29
29
|
"@rollup/plugin-node-resolve": "13.3.0",
|
30
30
|
"lodash": "4.17.21",
|
31
31
|
"qs": "6.11.0",
|
32
|
-
"react-input-mask": "
|
32
|
+
"react-input-mask": "3.0.0-alpha.2"
|
33
33
|
},
|
34
34
|
"module": "./index.js",
|
35
35
|
"main": "./index.js",
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import { ReactNode } from 'react';
|
2
2
|
import { TextFieldProps } from '@mui/material/TextField';
|
3
|
+
import { Control } from 'react-hook-form';
|
3
4
|
type Props = TextFieldProps & {
|
5
|
+
control: Control<any>;
|
4
6
|
name: string;
|
5
7
|
required?: boolean;
|
6
8
|
mask?: string;
|
7
9
|
label?: ReactNode;
|
8
10
|
};
|
9
|
-
export declare const ControlPhoneInput: ({ name, label, required, mask, ...textFieldProps }: Props) => JSX.Element;
|
11
|
+
export declare const ControlPhoneInput: ({ control, name, label, required, mask, ...textFieldProps }: Props) => JSX.Element;
|
10
12
|
export default ControlPhoneInput;
|