autoforma 1.0.85 → 1.1.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/README.md +211 -157
- package/dist/components/AutoForm/AutoForm.d.ts +3 -0
- package/dist/components/AutoForm/AutoForm.types.d.ts +54 -0
- package/dist/components/AutoForm/context/FormContext.d.ts +3 -0
- package/dist/components/AutoForm/context/RenderersContext.d.ts +7 -0
- package/dist/components/AutoForm/context/UpdateFieldSchemaContext.d.ts +7 -0
- package/dist/components/AutoForm/index.d.ts +0 -0
- package/dist/fields/FieldRenderer/ArrayLayout.d.ts +4 -0
- package/dist/fields/FieldRenderer/DefaultFieldRender.d.ts +3 -0
- package/dist/fields/FieldRenderer/FieldLayoutWrapper.d.ts +9 -0
- package/dist/fields/FieldRenderer/FieldRenderer.d.ts +5 -0
- package/dist/fields/FieldRenderer/FieldRenderer.types.d.ts +7 -0
- package/dist/fields/FieldRenderer/ObjectLayout.d.ts +4 -0
- package/dist/fields/renderer-resolver/BuiltInHandler.d.ts +9 -0
- package/dist/fields/renderer-resolver/FieldNameHandler.d.ts +8 -0
- package/dist/fields/renderer-resolver/FieldTypeHandler.d.ts +8 -0
- package/dist/fields/renderer-resolver/RendererHandler.d.ts +6 -0
- package/dist/fields/renderer-resolver/RendererResolverChain.d.ts +7 -0
- package/dist/fields/renderer.types.d.ts +12 -0
- package/dist/fields/renderers/CheckBoxFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/DateFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/DateTimeFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/NumberFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/RichTextEditorFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/SelectFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/SwitchFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/TagsFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/TextFieldRenderer.d.ts +4 -0
- package/dist/fields/renderers/TimeFieldRenderer.d.ts +4 -0
- package/dist/fields/resolver/FieldSchemaResolver.d.ts +8 -0
- package/dist/fields/types.d.ts +58 -0
- package/dist/fields/utils/layout.utils.d.ts +5 -0
- package/dist/fields/utils/schema.utils.d.ts +2 -0
- package/dist/fields/utils/values.utils.d.ts +4 -0
- package/dist/index.cjs.js +179 -15
- package/dist/index.d.ts +4 -2
- package/dist/index.es.js +23472 -1062
- package/dist/theme.d.ts +2 -2
- package/package.json +47 -10
- package/dist/components/AutoForm.d.ts +0 -18
- package/dist/components/FieldRender.d.ts +0 -16
- package/dist/components/fields/ArrayField.d.ts +0 -13
- package/dist/components/fields/CheckField.d.ts +0 -7
- package/dist/components/fields/DateField.d.ts +0 -6
- package/dist/components/fields/DateTimeField.d.ts +0 -6
- package/dist/components/fields/NumberField.d.ts +0 -6
- package/dist/components/fields/ObjectField.d.ts +0 -9
- package/dist/components/fields/SelectField.d.ts +0 -10
- package/dist/components/fields/TextAreaField.d.ts +0 -6
- package/dist/components/fields/TextField.d.ts +0 -6
- package/dist/components/fields/TimeField.d.ts +0 -6
- package/dist/types/custom-render.d.ts +0 -11
- package/dist/types/field.d.ts +0 -30
- package/dist/types/form.d.ts +0 -7
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FieldSchema } from '../types';
|
|
2
|
+
import { FormValues } from '../../components/AutoForm/context/FormContext';
|
|
3
|
+
interface FieldSchemaResolverProps {
|
|
4
|
+
fieldSchema: FieldSchema;
|
|
5
|
+
updateFieldSchema?: (path: string, fieldSchema: FieldSchema, values: FormValues) => FieldSchema | Promise<FieldSchema>;
|
|
6
|
+
}
|
|
7
|
+
declare const FieldSchemaResolver: (props: FieldSchemaResolverProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
export default FieldSchemaResolver;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export type FieldType<TCustom extends string = never> = "text" | "number" | "select" | "checkbox" | "date" | "datetime" | "time" | "object" | "array" | "switch" | "texteditor" | "tags" | TCustom;
|
|
2
|
+
export interface BaseFieldSchema<TValues extends Record<string, any> = Record<string, any>, TCustom extends string = never> {
|
|
3
|
+
name: keyof TValues & string;
|
|
4
|
+
label: string;
|
|
5
|
+
type: FieldType<TCustom>;
|
|
6
|
+
description?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
visible?: boolean;
|
|
12
|
+
initialValue?: any;
|
|
13
|
+
column?: number;
|
|
14
|
+
meta?: Record<string, any>;
|
|
15
|
+
}
|
|
16
|
+
export interface TextFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
17
|
+
type: "text";
|
|
18
|
+
}
|
|
19
|
+
export interface SelectFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
20
|
+
type: "select";
|
|
21
|
+
data: {
|
|
22
|
+
label: string;
|
|
23
|
+
value: string;
|
|
24
|
+
}[];
|
|
25
|
+
}
|
|
26
|
+
export interface CheckboxFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
27
|
+
type: "checkbox";
|
|
28
|
+
}
|
|
29
|
+
export interface DateFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
30
|
+
type: "date";
|
|
31
|
+
}
|
|
32
|
+
export interface ObjectFieldSchema<TValues extends Record<string, any> = Record<string, any>, TInner extends Record<string, any> = Record<string, any>, TCustom extends string = never> extends BaseFieldSchema<TValues, TCustom> {
|
|
33
|
+
type: "object";
|
|
34
|
+
fields: FieldSchema<TInner, TCustom>[];
|
|
35
|
+
}
|
|
36
|
+
export interface ArrayFieldSchema<TValues extends Record<string, any> = Record<string, any>, TInner extends Record<string, any> = Record<string, any>, TCustom extends string = never> extends BaseFieldSchema<TValues, TCustom> {
|
|
37
|
+
type: "array";
|
|
38
|
+
fields: FieldSchema<TInner, TCustom>[];
|
|
39
|
+
}
|
|
40
|
+
export interface SwitchFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
41
|
+
type: "switch";
|
|
42
|
+
}
|
|
43
|
+
export interface RichTextEditorFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
44
|
+
type: "texteditor";
|
|
45
|
+
}
|
|
46
|
+
export interface TimeFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
47
|
+
type: "time";
|
|
48
|
+
}
|
|
49
|
+
export interface NumberFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
50
|
+
type: "number";
|
|
51
|
+
}
|
|
52
|
+
export interface DateTimeFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
53
|
+
type: "datetime";
|
|
54
|
+
}
|
|
55
|
+
export interface TagsFieldSchema<TValues extends Record<string, any> = Record<string, any>> extends BaseFieldSchema<TValues> {
|
|
56
|
+
type: "tags";
|
|
57
|
+
}
|
|
58
|
+
export type FieldSchema<TValues extends Record<string, any> = Record<string, any>, TCustom extends string = never> = TextFieldSchema<TValues> | SelectFieldSchema<TValues> | CheckboxFieldSchema<TValues> | DateFieldSchema<TValues> | ObjectFieldSchema<TValues, any, TCustom> | ArrayFieldSchema<TValues, any, TCustom> | SwitchFieldSchema<TValues> | RichTextEditorFieldSchema<TValues> | TimeFieldSchema<TValues> | NumberFieldSchema<TValues> | DateTimeFieldSchema<TValues> | TagsFieldSchema<TValues> | (BaseFieldSchema<TValues, TCustom>);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const layoutStrategies: {
|
|
2
|
+
vertical: (children: React.ReactNode) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
horizontal: (children: React.ReactNode) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
grid: (children: React.ReactNode) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FieldSchema, FieldType } from '../types';
|
|
2
|
+
export declare const getDefaultValueForField: (type: FieldType) => any;
|
|
3
|
+
export declare function generateInitialValues<TValues extends Record<string, any> = Record<string, any>>(schema: FieldSchema<TValues>[], initialValues?: Partial<TValues>): TValues;
|
|
4
|
+
export declare function validateRequiredFields<TValues extends Record<string, any> = Record<string, any>>(schema: FieldSchema<TValues>[], values: TValues): Record<string, string>;
|