@dartech/arsenal-ui 1.4.4 → 1.4.6
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +25 -44
- package/package.json +2 -2
- package/src/lib/Forms/ControlPhoneInput.d.ts +3 -1
package/index.js
CHANGED
@@ -1054,8 +1054,7 @@ const ControlAceEditor = /*#__PURE__*/forwardRef((_a, ref) => {
|
|
1054
1054
|
rules: {
|
1055
1055
|
required: required && 'Please, fill this field',
|
1056
1056
|
validate: val => {
|
1057
|
-
|
1058
|
-
if (val && validateJson) {
|
1057
|
+
if (val && validateJson && typeof val === 'string') {
|
1059
1058
|
try {
|
1060
1059
|
JSON.parse(val);
|
1061
1060
|
return true;
|
@@ -1112,7 +1111,7 @@ const ControlAceEditor = /*#__PURE__*/forwardRef((_a, ref) => {
|
|
1112
1111
|
}
|
1113
1112
|
}, {
|
1114
1113
|
children: required ? jsxs(Fragment, {
|
1115
|
-
children: [label,
|
1114
|
+
children: [label, ' ', jsx(Box, Object.assign({
|
1116
1115
|
component: "span",
|
1117
1116
|
color: "#D6331F"
|
1118
1117
|
}, {
|
@@ -2548,33 +2547,23 @@ var img$2 = "data:image/svg+xml,%3csvg width='32' height='24' viewBox='0 0 32 24
|
|
2548
2547
|
|
2549
2548
|
const ControlPhoneInput = _a => {
|
2550
2549
|
var {
|
2550
|
+
control,
|
2551
2551
|
name,
|
2552
2552
|
label,
|
2553
2553
|
required,
|
2554
2554
|
mask = '+7 (799) 999 99 99'
|
2555
2555
|
} = _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]);
|
2556
|
+
textFieldProps = __rest(_a, ["control", "name", "label", "required", "mask"]);
|
2568
2557
|
return jsx(Controller, {
|
2569
2558
|
control: control,
|
2570
2559
|
name: name,
|
2571
2560
|
rules: {
|
2572
2561
|
required: required && 'Please, fill this field',
|
2573
2562
|
validate: val => {
|
2574
|
-
if (
|
2575
|
-
return
|
2563
|
+
if (!/(\+7\s\(\d{3}\)\s)(\d{3}\s\d{2})(\s\d{2})/.test(val)) {
|
2564
|
+
return 'Incorrect phone number format';
|
2576
2565
|
}
|
2577
|
-
return
|
2566
|
+
return true;
|
2578
2567
|
}
|
2579
2568
|
},
|
2580
2569
|
render: ({
|
@@ -2585,7 +2574,7 @@ const ControlPhoneInput = _a => {
|
|
2585
2574
|
}) => jsx(InputMask, Object.assign({
|
2586
2575
|
mask: mask
|
2587
2576
|
}, field, {
|
2588
|
-
children:
|
2577
|
+
children: jsx(TextField, Object.assign({
|
2589
2578
|
fullWidth: true,
|
2590
2579
|
size: "small",
|
2591
2580
|
label: required && label ? jsxs(Fragment, {
|
@@ -5826,11 +5815,12 @@ const PropertyFiller = ({
|
|
5826
5815
|
const {
|
5827
5816
|
control,
|
5828
5817
|
clearErrors,
|
5829
|
-
setValue
|
5830
|
-
watch
|
5818
|
+
setValue
|
5831
5819
|
} = useFormContext();
|
5832
5820
|
const {
|
5833
|
-
|
5821
|
+
field: {
|
5822
|
+
value
|
5823
|
+
},
|
5834
5824
|
fieldState: {
|
5835
5825
|
error,
|
5836
5826
|
isDirty
|
@@ -5845,11 +5835,6 @@ const PropertyFiller = ({
|
|
5845
5835
|
}
|
5846
5836
|
}
|
5847
5837
|
});
|
5848
|
-
// const value = watch(name);
|
5849
|
-
const value = useWatch({
|
5850
|
-
control,
|
5851
|
-
name
|
5852
|
-
});
|
5853
5838
|
const prevValueRef = useRef({});
|
5854
5839
|
const {
|
5855
5840
|
propertyType,
|
@@ -5923,26 +5908,22 @@ const PropertyFiller = ({
|
|
5923
5908
|
clearErrors();
|
5924
5909
|
}, [name, defaultProperyValue, clearErrors, value, setFillOption, fillOption, propertyType, setValue, property]);
|
5925
5910
|
useEffect(() => {
|
5926
|
-
|
5927
|
-
|
5928
|
-
|
5929
|
-
|
5911
|
+
var _a;
|
5912
|
+
if (!isDirty && isPropertyValueEmpty(value)) {
|
5913
|
+
if (property.isRequired && (property.defaultValue === null || property.value === null)) {
|
5914
|
+
setValue(name, (_a = prevValueRef.current[fillOption]) !== null && _a !== void 0 ? _a : defaultProperyValue);
|
5915
|
+
} else if (!property.isRequired && (property.defaultValue === null || property.value === null)) {
|
5916
|
+
setValue(name, null);
|
5917
|
+
} else if (!(isPropertyValueEmpty(property.defaultValue) || isPropertyValueEmpty(property.value))) {
|
5918
|
+
setValue(name, property.defaultValue || property.value);
|
5919
|
+
}
|
5930
5920
|
}
|
5931
|
-
}, [
|
5921
|
+
}, [value, setValue, defaultProperyValue, property, name, fillOption, isDirty]);
|
5932
5922
|
useEffect(() => {
|
5933
|
-
|
5934
|
-
|
5935
|
-
// value === undefined ||
|
5936
|
-
property.isRequired && isPropertyValueEmpty(value) && (property.defaultValue === null || property.value === null)) {
|
5937
|
-
setValue(name, (_a = prevValueRef.current[fillOption]) !== null && _a !== void 0 ? _a : defaultProperyValue, {
|
5938
|
-
shouldDirty: true
|
5939
|
-
});
|
5940
|
-
} else if ((value === undefined || value === null) && !property.isRequired && (property.defaultValue === null || property.value === null)) {
|
5941
|
-
setValue(name, null, {
|
5942
|
-
shouldDirty: true
|
5943
|
-
});
|
5923
|
+
if (!isPropertyValueEmpty(value) && property.propertyType !== PropertyType.JSON) {
|
5924
|
+
setValue(name, value);
|
5944
5925
|
}
|
5945
|
-
}, [
|
5926
|
+
}, [name, setValue, value, property]);
|
5946
5927
|
return jsxs(Grid, Object.assign({
|
5947
5928
|
xs: 12
|
5948
5929
|
}, {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dartech/arsenal-ui",
|
3
|
-
"version": "1.4.
|
3
|
+
"version": "1.4.6",
|
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;
|