@cloud-ru/uikit-product-fields-predefined 0.13.11 → 0.14.0
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/CHANGELOG.md +11 -0
- package/README.md +28 -103
- package/dist/cjs/components/FieldAi/FieldAi.d.ts +1 -1
- package/dist/cjs/components/FieldAi/components/MobileFieldAi/MobileFieldAi.d.ts +1 -1
- package/dist/cjs/components/FieldDescription/FieldDescription.d.ts +12 -0
- package/dist/cjs/components/FieldDescription/FieldDescription.js +68 -0
- package/dist/cjs/components/FieldDescription/FieldDescriptionRHF.d.ts +11 -0
- package/dist/cjs/components/FieldDescription/FieldDescriptionRHF.js +62 -0
- package/dist/cjs/components/FieldDescription/components/FieldWithAddButton.d.ts +7 -0
- package/dist/cjs/components/FieldDescription/components/FieldWithAddButton.js +21 -0
- package/dist/cjs/components/FieldDescription/components/index.d.ts +1 -0
- package/dist/cjs/components/FieldDescription/components/index.js +5 -0
- package/dist/cjs/components/FieldDescription/constants.d.ts +1 -0
- package/dist/cjs/components/FieldDescription/constants.js +4 -0
- package/dist/cjs/components/FieldDescription/index.d.ts +3 -0
- package/dist/cjs/components/FieldDescription/index.js +7 -0
- package/dist/cjs/components/FieldDescription/types.d.ts +16 -0
- package/dist/cjs/components/FieldDescription/types.js +2 -0
- package/dist/cjs/components/FieldName/FieldName.d.ts +12 -0
- package/dist/cjs/components/FieldName/FieldName.js +95 -0
- package/dist/cjs/components/FieldName/FieldNameRHF.d.ts +11 -0
- package/dist/cjs/components/FieldName/FieldNameRHF.js +81 -0
- package/dist/cjs/components/FieldName/constants.d.ts +1 -0
- package/dist/cjs/components/FieldName/constants.js +4 -0
- package/dist/cjs/components/FieldName/index.d.ts +3 -0
- package/dist/cjs/components/FieldName/index.js +7 -0
- package/dist/cjs/components/FieldName/types.d.ts +15 -0
- package/dist/cjs/components/FieldName/types.js +2 -0
- package/dist/cjs/components/index.d.ts +2 -0
- package/dist/cjs/components/index.js +2 -0
- package/dist/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/index.js +1 -0
- package/dist/cjs/hooks/useCustomFieldValidation.d.ts +12 -0
- package/dist/cjs/hooks/useCustomFieldValidation.js +32 -0
- package/dist/esm/components/FieldAi/FieldAi.d.ts +1 -1
- package/dist/esm/components/FieldAi/components/MobileFieldAi/MobileFieldAi.d.ts +1 -1
- package/dist/esm/components/FieldDescription/FieldDescription.d.ts +12 -0
- package/dist/esm/components/FieldDescription/FieldDescription.js +62 -0
- package/dist/esm/components/FieldDescription/FieldDescriptionRHF.d.ts +11 -0
- package/dist/esm/components/FieldDescription/FieldDescriptionRHF.js +56 -0
- package/dist/esm/components/FieldDescription/components/FieldWithAddButton.d.ts +7 -0
- package/dist/esm/components/FieldDescription/components/FieldWithAddButton.js +18 -0
- package/dist/esm/components/FieldDescription/components/index.d.ts +1 -0
- package/dist/esm/components/FieldDescription/components/index.js +1 -0
- package/dist/esm/components/FieldDescription/constants.d.ts +1 -0
- package/dist/esm/components/FieldDescription/constants.js +1 -0
- package/dist/esm/components/FieldDescription/index.d.ts +3 -0
- package/dist/esm/components/FieldDescription/index.js +2 -0
- package/dist/esm/components/FieldDescription/types.d.ts +16 -0
- package/dist/esm/components/FieldDescription/types.js +1 -0
- package/dist/esm/components/FieldName/FieldName.d.ts +12 -0
- package/dist/esm/components/FieldName/FieldName.js +89 -0
- package/dist/esm/components/FieldName/FieldNameRHF.d.ts +11 -0
- package/dist/esm/components/FieldName/FieldNameRHF.js +75 -0
- package/dist/esm/components/FieldName/constants.d.ts +1 -0
- package/dist/esm/components/FieldName/constants.js +1 -0
- package/dist/esm/components/FieldName/index.d.ts +3 -0
- package/dist/esm/components/FieldName/index.js +2 -0
- package/dist/esm/components/FieldName/types.d.ts +15 -0
- package/dist/esm/components/FieldName/types.js +1 -0
- package/dist/esm/components/index.d.ts +2 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/useCustomFieldValidation.d.ts +12 -0
- package/dist/esm/hooks/useCustomFieldValidation.js +28 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +8 -6
- package/src/components/FieldDescription/FieldDescription.tsx +97 -0
- package/src/components/FieldDescription/FieldDescriptionRHF.tsx +93 -0
- package/src/components/FieldDescription/components/FieldWithAddButton.tsx +43 -0
- package/src/components/FieldDescription/components/index.ts +1 -0
- package/src/components/FieldDescription/constants.ts +1 -0
- package/src/components/FieldDescription/index.ts +3 -0
- package/src/components/FieldDescription/types.ts +23 -0
- package/src/components/FieldName/FieldName.tsx +125 -0
- package/src/components/FieldName/FieldNameRHF.tsx +112 -0
- package/src/components/FieldName/constants.ts +1 -0
- package/src/components/FieldName/index.ts +3 -0
- package/src/components/FieldName/types.ts +22 -0
- package/src/components/index.ts +2 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useCustomFieldValidation.ts +38 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DEFAULT_MAX_NAME_LENGTH = 64;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const DEFAULT_MAX_NAME_LENGTH = 64;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ControllerProps, FieldValues } from 'react-hook-form';
|
|
2
|
+
import { StringSchema, ValidationError } from 'yup';
|
|
3
|
+
import { FieldTextProps } from '@cloud-ru/uikit-product-mobile-fields';
|
|
4
|
+
export type BaseFieldNameProps = Omit<FieldTextProps, 'placeholder' | 'label' | 'footer' | 'type' | 'inputMode' | 'caption' | 'hint'> & {
|
|
5
|
+
showLabel?: boolean;
|
|
6
|
+
customSchema?: StringSchema;
|
|
7
|
+
};
|
|
8
|
+
export type FieldNameProps = BaseFieldNameProps & {
|
|
9
|
+
/** Колбэк, вызываемый при изменении ошибки валидации */
|
|
10
|
+
onValidationError?: (error: ValidationError | null) => void;
|
|
11
|
+
};
|
|
12
|
+
export type FieldNameRHFProps = BaseFieldNameProps & {
|
|
13
|
+
/** Режим контроллера с использованием react-hook-form */
|
|
14
|
+
controllerProps: Omit<ControllerProps<FieldValues>, 'render' | 'rules' | 'disabled'>;
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/esm/hooks/index.js
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AnySchema, ValidationError } from 'yup';
|
|
2
|
+
export type UseFieldValidationProps = {
|
|
3
|
+
schema: AnySchema;
|
|
4
|
+
};
|
|
5
|
+
export declare const useCustomFieldValidation: ({ schema }: UseFieldValidationProps) => {
|
|
6
|
+
validate: (value: string) => {
|
|
7
|
+
error: null;
|
|
8
|
+
} | {
|
|
9
|
+
error: ValidationError;
|
|
10
|
+
};
|
|
11
|
+
validateRHF: (value: string) => string | true | undefined;
|
|
12
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import { ValidationError } from 'yup';
|
|
3
|
+
export const useCustomFieldValidation = ({ schema }) => {
|
|
4
|
+
const validate = useCallback((value) => {
|
|
5
|
+
try {
|
|
6
|
+
schema.validateSync(value);
|
|
7
|
+
return { error: null };
|
|
8
|
+
}
|
|
9
|
+
catch (err) {
|
|
10
|
+
if (err instanceof ValidationError) {
|
|
11
|
+
return { error: err };
|
|
12
|
+
}
|
|
13
|
+
return { error: null };
|
|
14
|
+
}
|
|
15
|
+
}, [schema]);
|
|
16
|
+
const validateRHF = useCallback((value) => {
|
|
17
|
+
try {
|
|
18
|
+
schema.validateSync(value);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
if (err instanceof ValidationError)
|
|
23
|
+
return err.message;
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
}, [schema]);
|
|
27
|
+
return { validate, validateRHF };
|
|
28
|
+
};
|