@simpleform/render 4.2.1 → 4.2.3
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 +1 -1
- package/README_CN.md +1 -1
- package/lib/components/grid.d.ts +1 -1
- package/lib/css/main.css +1 -1
- package/lib/hooks.d.ts +7 -4
- package/lib/index.js +1 -1
- package/lib/store/index.d.ts +27 -6
- package/lib/typings.d.ts +25 -13
- package/lib/utils/transform.d.ts +4 -4
- package/lib/utils/utils.d.ts +6 -4
- package/package.json +2 -2
package/lib/store/index.d.ts
CHANGED
|
@@ -1,20 +1,41 @@
|
|
|
1
1
|
import { FormRenderNodeProps, FormRenderProps } from '../typings';
|
|
2
|
+
import { Form } from '@simpleform/form';
|
|
2
3
|
export type FormRenderListener<V> = (newValue?: V, oldValue?: V) => void;
|
|
3
4
|
export declare class SimpleFormRender {
|
|
4
|
-
config
|
|
5
|
+
config: Omit<FormRenderProps, 'formConfig' | 'components'> & {
|
|
6
|
+
formConfig: NonNullable<FormRenderProps['formConfig']>;
|
|
7
|
+
components: NonNullable<FormRenderProps['components']>;
|
|
8
|
+
};
|
|
5
9
|
private widgetList;
|
|
6
10
|
private lastWidgetList;
|
|
7
11
|
private widgetListListeners;
|
|
12
|
+
static defaultConfig: {
|
|
13
|
+
formConfig: {
|
|
14
|
+
Form: typeof Form;
|
|
15
|
+
Item: import("react").ForwardRefExoticComponent<Omit<import("@simpleform/form").ItemProps, "children"> & import("@simpleform/form").ItemCoreProps & {
|
|
16
|
+
component?: import("react").ComponentType<any> | import("react").ForwardRefExoticComponent<any> | null;
|
|
17
|
+
} & {
|
|
18
|
+
className?: string;
|
|
19
|
+
style?: import("react").CSSProperties;
|
|
20
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
21
|
+
};
|
|
22
|
+
components: {
|
|
23
|
+
row: import("react").ForwardRefExoticComponent<import("../components").CustomRowProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
24
|
+
col: import("react").ForwardRefExoticComponent<import("../components").CustomColProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
8
27
|
constructor(config?: SimpleFormRender['config']);
|
|
9
|
-
defineConfig(payload?: SimpleFormRender['config'] | ((config?:
|
|
10
|
-
getWidgetList(): import("../typings").WithExpression<Omit<import("../typings").FRGenerateNode, "
|
|
11
|
-
|
|
28
|
+
defineConfig(payload?: Partial<SimpleFormRender['config']> | ((config?: SimpleFormRender['config']) => SimpleFormRender['config'])): void;
|
|
29
|
+
getWidgetList(): import("../typings").WithExpression<Omit<import("../typings").FRGenerateNode, "inside" | "outside"> & {
|
|
30
|
+
inside?: import("../typings").ReactComponent<any> | import("react").ReactNode | import("../typings").FRNode;
|
|
31
|
+
outside?: import("../typings").ReactComponent<any> | import("react").ReactNode | import("../typings").FRNode;
|
|
12
32
|
}>[];
|
|
13
33
|
setWidgetList(data?: SimpleFormRender['widgetList'], option?: {
|
|
14
34
|
ignore?: boolean;
|
|
15
35
|
}): void;
|
|
16
|
-
getItemByPath: (path?: FormRenderNodeProps["path"]) => import("../typings").WithExpression<Omit<import("../typings").FRGenerateNode, "
|
|
17
|
-
|
|
36
|
+
getItemByPath: (path?: FormRenderNodeProps["path"]) => import("../typings").WithExpression<Omit<import("../typings").FRGenerateNode, "inside" | "outside"> & {
|
|
37
|
+
inside?: import("../typings").ReactComponent<any> | import("react").ReactNode | import("../typings").FRNode;
|
|
38
|
+
outside?: import("../typings").ReactComponent<any> | import("react").ReactNode | import("../typings").FRNode;
|
|
18
39
|
}>[] | undefined;
|
|
19
40
|
getActions(): {
|
|
20
41
|
[k: string]: (...args: any[]) => void;
|
package/lib/typings.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
|
-
import { FormItemProps, FormProps } from '@simpleform/form';
|
|
3
2
|
import { SimpleFormRender } from './store';
|
|
4
3
|
export type ReactComponent<P> = React.ComponentType<P> | React.ForwardRefExoticComponent<P>;
|
|
5
|
-
export type
|
|
4
|
+
export type FormConfig = {
|
|
5
|
+
Form: React.FunctionComponent<{
|
|
6
|
+
[key in string]: any;
|
|
7
|
+
}>;
|
|
8
|
+
Item: ReactComponent<{
|
|
9
|
+
[key in string]: any;
|
|
10
|
+
}>;
|
|
11
|
+
context?: {
|
|
12
|
+
[key in string]: any;
|
|
13
|
+
};
|
|
14
|
+
form?: any;
|
|
15
|
+
};
|
|
16
|
+
export type FRGenerateNode = {
|
|
6
17
|
type?: string | ReactComponent<any>;
|
|
7
18
|
props?: Record<string, unknown>;
|
|
8
19
|
children?: any;
|
|
@@ -12,44 +23,45 @@ export type FRGenerateNode = FormItemProps & {
|
|
|
12
23
|
readOnlyRender?: ReactNode | ((context?: FRContext) => ReactNode);
|
|
13
24
|
typeRender?: ReactNode | ((context?: FRContext) => ReactNode);
|
|
14
25
|
hidden?: boolean;
|
|
15
|
-
}
|
|
26
|
+
} & React.ComponentProps<FormConfig['Item']>;
|
|
16
27
|
export type WithExpression<T> = {
|
|
17
|
-
[P in keyof T]: T[P] | string;
|
|
28
|
+
[P in keyof T]: T[P] extends any[] ? ArrWithExpression<T[P]> : T[P] | string;
|
|
18
29
|
};
|
|
19
30
|
export type ArrWithExpression<T extends Array<any> | undefined> = Array<WithExpression<NonNullable<T>[number]>>;
|
|
20
|
-
export type FRNode = WithExpression<Omit<FRGenerateNode, '
|
|
21
|
-
|
|
31
|
+
export type FRNode = WithExpression<Omit<FRGenerateNode, 'inside' | 'outside'> & {
|
|
32
|
+
inside?: ReactComponent<any> | ReactNode | FRNode;
|
|
33
|
+
outside?: ReactComponent<any> | ReactNode | FRNode;
|
|
22
34
|
}>;
|
|
23
35
|
export type FROptions = Partial<FRGenerateNode> & {
|
|
24
36
|
[key in string]: any;
|
|
25
37
|
};
|
|
26
38
|
export type FRContext = {
|
|
27
|
-
_options: FROptions & Pick<FormChildrenProps, 'formrender'> & Pick<
|
|
39
|
+
_options: FROptions & Pick<FormChildrenProps, 'formrender'> & Pick<FormConfig, 'form'> & {
|
|
28
40
|
index?: number;
|
|
29
41
|
path?: Array<string | number>;
|
|
30
42
|
};
|
|
31
43
|
};
|
|
32
44
|
export type CustomRenderType = <C>(children?: C, context?: FRContext) => C;
|
|
33
|
-
export type FormRenderNodeProps =
|
|
45
|
+
export type FormRenderNodeProps = {
|
|
34
46
|
formrender: SimpleFormRender;
|
|
35
47
|
widget: FRNode;
|
|
36
48
|
index?: FRContext['_options']['index'];
|
|
37
49
|
path?: FRContext['_options']['path'];
|
|
38
50
|
renderList?: CustomRenderType;
|
|
39
51
|
renderItem?: CustomRenderType;
|
|
52
|
+
onValuesChange?: (...args: any[]) => void;
|
|
40
53
|
};
|
|
41
54
|
export type FormChildrenProps = Pick<FormRenderNodeProps, 'renderList' | 'renderItem'> & {
|
|
42
|
-
/**@deprecated no longer recommended */
|
|
43
|
-
|
|
55
|
+
/**@deprecated no longer recommended, please use 'variables' instead */
|
|
56
|
+
plugins?: Record<string, unknown>;
|
|
44
57
|
formrender?: SimpleFormRender;
|
|
45
58
|
wrapper?: FRNode['inside'];
|
|
46
59
|
options?: FROptions | ((frGenerateNode: any) => FROptions);
|
|
47
60
|
widgetList?: Array<FRNode>;
|
|
48
|
-
/**@deprecated no longer recommended, please use 'variables' instead */
|
|
49
|
-
plugins?: Record<string, unknown>;
|
|
50
61
|
variables?: Record<string, unknown>;
|
|
51
62
|
parser?: <V>(value?: V, variables?: object) => V;
|
|
52
63
|
components?: Record<string, ReactComponent<any>>;
|
|
64
|
+
formConfig?: FormConfig;
|
|
53
65
|
onRenderChange?: (newData?: FormChildrenProps['widgetList'], oldData?: FormChildrenProps['widgetList']) => void;
|
|
54
66
|
};
|
|
55
|
-
export type FormRenderProps =
|
|
67
|
+
export type FormRenderProps = FormChildrenProps & React.ComponentProps<FormConfig['Form']>;
|
package/lib/utils/transform.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CustomRenderType, FormRenderNodeProps, FormRenderProps, FRContext } from '../typings';
|
|
2
|
+
import { CustomRenderType, FormChildrenProps, FormRenderNodeProps, FormRenderProps, FRContext, FRGenerateNode } from '../typings';
|
|
3
3
|
export declare const mergeFROptions: (oldConfig: any, newConfig: any, mergeFunNames?: string[]) => any;
|
|
4
4
|
export declare const traverseMapObject: (val: any, callback: any) => any;
|
|
5
5
|
export declare const traverseList: <V>(list?: Array<V>, callback?: (item: V, index: number, parent?: Array<string | number>) => any | void, parent?: Array<string | number>) => void[] | undefined;
|
|
6
6
|
export declare const traverseParse: <V>(obj: V, variables?: object, parser?: FormRenderProps["parser"]) => any;
|
|
7
|
-
export declare const getInitialValues:
|
|
7
|
+
export declare const getInitialValues: (widgetList?: FRGenerateNode[]) => {} | undefined;
|
|
8
8
|
export declare const createFRElement: (target?: any, props?: any, widgets?: FormRenderProps["components"]) => React.ReactNode;
|
|
9
9
|
export declare const parseFRData: (data: any, formrender: FormRenderProps["formrender"], form?: FormRenderProps["form"]) => any;
|
|
10
10
|
export declare const withSide: (target?: React.ReactNode, customRender?: CustomRenderType, side?: React.ReactNode, context?: FRContext) => React.ReactElement<any, any>;
|
|
11
|
-
export declare const renderFRNode: (node?: FormRenderNodeProps,
|
|
12
|
-
export declare const renderFRNodeList: (formrender: FormRenderNodeProps["formrender"], widgetList?: any,
|
|
11
|
+
export declare const renderFRNode: (node?: FormRenderNodeProps, formConfig?: FormChildrenProps["formConfig"]) => React.ReactElement<any, any> | null | undefined;
|
|
12
|
+
export declare const renderFRNodeList: (formrender: FormRenderNodeProps["formrender"], widgetList?: any, formConfig?: FormChildrenProps["formConfig"], parentNode?: Partial<FormRenderNodeProps>) => (React.ReactElement<any, any> | null | undefined)[] | undefined;
|
package/lib/utils/utils.d.ts
CHANGED
|
@@ -6,9 +6,11 @@ export declare function toEntries<T>(data: T[]): [number, T][];
|
|
|
6
6
|
export declare function toEntries<T>(data: Record<string, T>): [string, T][];
|
|
7
7
|
export declare function parseEntries<T>(entries: Array<[number, T]>): T[];
|
|
8
8
|
export declare function parseEntries<T>(entries: Array<[string, T]>): Record<string, T>;
|
|
9
|
-
export declare const insertItemByIndex: (widgetList: FormRenderProps["widgetList"] | undefined, data: unknown, index?: number, parent?: FormRenderNodeProps["path"]) => import("src/typings").WithExpression<Omit<import("src/typings").FRGenerateNode, "
|
|
10
|
-
|
|
9
|
+
export declare const insertItemByIndex: (widgetList: FormRenderProps["widgetList"] | undefined, data: unknown, index?: number, parent?: FormRenderNodeProps["path"]) => import("src/typings").WithExpression<Omit<import("src/typings").FRGenerateNode, "inside" | "outside"> & {
|
|
10
|
+
inside?: import("src/typings").ReactComponent<any> | import("react").ReactNode | import("src/typings").FRNode;
|
|
11
|
+
outside?: import("src/typings").ReactComponent<any> | import("react").ReactNode | import("src/typings").FRNode;
|
|
11
12
|
}>[] | undefined;
|
|
12
|
-
export declare const moveItemByPath: (widgetList: FormRenderProps["widgetList"] | undefined, fromPath: FormRenderNodeProps["path"], toPath: FormRenderNodeProps["path"]) => import("src/typings").WithExpression<Omit<import("src/typings").FRGenerateNode, "
|
|
13
|
-
|
|
13
|
+
export declare const moveItemByPath: (widgetList: FormRenderProps["widgetList"] | undefined, fromPath: FormRenderNodeProps["path"], toPath: FormRenderNodeProps["path"]) => import("src/typings").WithExpression<Omit<import("src/typings").FRGenerateNode, "inside" | "outside"> & {
|
|
14
|
+
inside?: import("src/typings").ReactComponent<any> | import("react").ReactNode | import("src/typings").FRNode;
|
|
15
|
+
outside?: import("src/typings").ReactComponent<any> | import("react").ReactNode | import("src/typings").FRNode;
|
|
14
16
|
}>[] | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simpleform/render",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.3",
|
|
4
4
|
"description": "dynamic rendering core of simple form",
|
|
5
5
|
"author": "mezhanglei <496623925@qq.com>",
|
|
6
6
|
"homepage": "https://github.com/mezhanglei/simpleform#readme",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"react-router-dom": "^6.19.0"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@simpleform/form": "^2.2.
|
|
48
|
+
"@simpleform/form": "^2.2.8",
|
|
49
49
|
"@simpleform/evaluator": "^0.0.2",
|
|
50
50
|
"classnames": "^2.3.2",
|
|
51
51
|
"copy-anything": "^3.0.5",
|