Skip to content

Commit 91e24b0

Browse files
author
Administrator
committed
1.0.4
1 parent 9df1b5e commit 91e24b0

File tree

7 files changed

+506
-0
lines changed

7 files changed

+506
-0
lines changed

build/CascadeForms/CascadeForms.d.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import React from "react";
2+
import { FormActions, ControlItemProps } from "./CascadeForms.types";
3+
export * from "./CascadeForms.types";
4+
declare const CascadeForms: React.ForwardRefExoticComponent<{
5+
form: import("./CascadeForms.types").FormItems;
6+
} & Omit<ControlItemProps, "item"> & React.RefAttributes<FormActions>>;
7+
export default CascadeForms;
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/// <reference types="react" />
2+
import { ValidationRuleObject } from "fastest-validator";
3+
type FormItemVisible = {
4+
state: string;
5+
expect: string | boolean | unknown;
6+
};
7+
type FormValue = {
8+
value: any;
9+
state?: string | boolean;
10+
};
11+
export type FormState = Record<string | number, FormValue>;
12+
export type FormPayload = any;
13+
export type FormItem = {
14+
id: string;
15+
type: string;
16+
payload?: FormPayload;
17+
validator?: ValidationRuleObject;
18+
className?: string;
19+
title?: string;
20+
visible?: FormItemVisible;
21+
items?: Array<FormItem>;
22+
};
23+
export type FormItems = FormItem[];
24+
export type OnChangeFn = (id: string, value: string) => void;
25+
export type FormControlRenderFn = (formState: FormState, item: FormItem, onChange: OnChangeFn) => JSX.Element;
26+
export type StateUpdateFn = (state: FormState) => void;
27+
export type ControlRenderProps = {
28+
formState: FormState;
29+
item: FormItem;
30+
onChange: OnChangeFn;
31+
};
32+
export type ControlItemProps = {
33+
item: FormItem;
34+
formState: FormState;
35+
onRender: FormControlRenderFn;
36+
onUpdate: StateUpdateFn;
37+
};
38+
export type CascadeFormProps = {
39+
form: FormItems;
40+
} & Omit<ControlItemProps, "item">;
41+
export type RenderProps = {
42+
items: FormItems;
43+
parent?: FormItem;
44+
} & Omit<ControlItemProps, "item">;
45+
export type FormActions = {
46+
getState: () => FormState;
47+
};
48+
export {};

build/index.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import CascadeForms, { OnChangeFn, ControlRenderProps, FormActions, FormItem, FormItems, FormState } from "./CascadeForms/CascadeForms";
2+
export { OnChangeFn, ControlRenderProps, FormItem, FormState, FormActions, FormItems, };
3+
export default CascadeForms;

build/index.esm.js

Lines changed: 220 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/index.esm.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/index.js

Lines changed: 226 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/index.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)