@dartech/arsenal-ui 1.4.5 → 1.4.7

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/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
- console.log('_____', val);
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, " ", jsx(Box, Object.assign({
1114
+ children: [label, ' ', jsx(Box, Object.assign({
1116
1115
  component: "span",
1117
1116
  color: "#D6331F"
1118
1117
  }, {
@@ -2552,9 +2551,10 @@ const ControlPhoneInput = _a => {
2552
2551
  name,
2553
2552
  label,
2554
2553
  required,
2555
- mask = '+7 (799) 999 99 99'
2554
+ mask = '+7 (799) 999 99 99',
2555
+ inputMaskProps
2556
2556
  } = _a,
2557
- textFieldProps = __rest(_a, ["control", "name", "label", "required", "mask"]);
2557
+ textFieldProps = __rest(_a, ["control", "name", "label", "required", "mask", "inputMaskProps"]);
2558
2558
  return jsx(Controller, {
2559
2559
  control: control,
2560
2560
  name: name,
@@ -2573,8 +2573,11 @@ const ControlPhoneInput = _a => {
2573
2573
  error
2574
2574
  }
2575
2575
  }) => jsx(InputMask, Object.assign({
2576
- mask: mask
2577
- }, field, {
2576
+ mask: mask,
2577
+ value: field.value,
2578
+ onChange: field.onChange,
2579
+ onBlur: field.onBlur
2580
+ }, inputMaskProps, {
2578
2581
  children: jsx(TextField, Object.assign({
2579
2582
  fullWidth: true,
2580
2583
  size: "small",
@@ -5816,11 +5819,12 @@ const PropertyFiller = ({
5816
5819
  const {
5817
5820
  control,
5818
5821
  clearErrors,
5819
- setValue,
5820
- watch
5822
+ setValue
5821
5823
  } = useFormContext();
5822
5824
  const {
5823
- // field: { value },
5825
+ field: {
5826
+ value
5827
+ },
5824
5828
  fieldState: {
5825
5829
  error,
5826
5830
  isDirty
@@ -5835,11 +5839,6 @@ const PropertyFiller = ({
5835
5839
  }
5836
5840
  }
5837
5841
  });
5838
- // const value = watch(name);
5839
- const value = useWatch({
5840
- control,
5841
- name
5842
- });
5843
5842
  const prevValueRef = useRef({});
5844
5843
  const {
5845
5844
  propertyType,
@@ -5913,26 +5912,22 @@ const PropertyFiller = ({
5913
5912
  clearErrors();
5914
5913
  }, [name, defaultProperyValue, clearErrors, value, setFillOption, fillOption, propertyType, setValue, property]);
5915
5914
  useEffect(() => {
5916
- if (!isDirty && (property.defaultValue || property.value) && isPropertyValueEmpty(value)) {
5917
- setValue(name, property.defaultValue || property.value, {
5918
- shouldDirty: true
5919
- });
5915
+ var _a;
5916
+ if (!isDirty && isPropertyValueEmpty(value)) {
5917
+ if (property.isRequired && (property.defaultValue === null || property.value === null)) {
5918
+ setValue(name, (_a = prevValueRef.current[fillOption]) !== null && _a !== void 0 ? _a : defaultProperyValue);
5919
+ } else if (!property.isRequired && (property.defaultValue === null || property.value === null)) {
5920
+ setValue(name, null);
5921
+ } else if (!(isPropertyValueEmpty(property.defaultValue) || isPropertyValueEmpty(property.value))) {
5922
+ setValue(name, property.defaultValue || property.value);
5923
+ }
5920
5924
  }
5921
- }, [isDirty, property, name, setValue, value, required]);
5925
+ }, [value, setValue, defaultProperyValue, property, name, fillOption, isDirty]);
5922
5926
  useEffect(() => {
5923
- var _a;
5924
- if (
5925
- // value === undefined ||
5926
- property.isRequired && isPropertyValueEmpty(value) && (property.defaultValue === null || property.value === null)) {
5927
- setValue(name, (_a = prevValueRef.current[fillOption]) !== null && _a !== void 0 ? _a : defaultProperyValue, {
5928
- shouldDirty: true
5929
- });
5930
- } else if ((value === undefined || value === null) && !property.isRequired && (property.defaultValue === null || property.value === null)) {
5931
- setValue(name, null, {
5932
- shouldDirty: true
5933
- });
5927
+ if (!isPropertyValueEmpty(value) && property.propertyType !== PropertyType.JSON) {
5928
+ setValue(name, value);
5934
5929
  }
5935
- }, [value, setValue, defaultProperyValue, property, name, fillOption]);
5930
+ }, [name, setValue, value, property]);
5936
5931
  return jsxs(Grid, Object.assign({
5937
5932
  xs: 12
5938
5933
  }, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dartech/arsenal-ui",
3
- "version": "1.4.5",
3
+ "version": "1.4.7",
4
4
  "author": "DAR",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -1,12 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { TextFieldProps } from '@mui/material/TextField';
3
3
  import { Control } from 'react-hook-form';
4
+ import { Props as InputMaskProps } from 'react-input-mask';
4
5
  type Props = TextFieldProps & {
5
6
  control: Control<any>;
6
7
  name: string;
7
8
  required?: boolean;
8
9
  mask?: string;
9
10
  label?: ReactNode;
11
+ inputMaskProps?: InputMaskProps;
10
12
  };
11
- export declare const ControlPhoneInput: ({ control, name, label, required, mask, ...textFieldProps }: Props) => JSX.Element;
13
+ export declare const ControlPhoneInput: ({ control, name, label, required, mask, inputMaskProps, ...textFieldProps }: Props) => JSX.Element;
12
14
  export default ControlPhoneInput;