@nccirtu/tablefy 0.8.4 → 0.9.1
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 +224 -200
- package/dist/columns/forms/builders/actions-builder.d.ts +14 -0
- package/dist/columns/forms/builders/form-schema.d.ts +35 -0
- package/dist/columns/forms/builders/index.d.ts +5 -0
- package/dist/columns/forms/builders/section-builder.d.ts +16 -0
- package/dist/columns/forms/builders/tab-builder.d.ts +16 -0
- package/dist/columns/forms/builders/wizard-builder.d.ts +17 -0
- package/dist/columns/forms/components/field-renderer.d.ts +12 -0
- package/dist/columns/forms/components/form-actions.d.ts +9 -0
- package/dist/columns/forms/components/form-renderer.d.ts +14 -0
- package/dist/columns/forms/components/grid-layout.d.ts +7 -0
- package/dist/columns/forms/components/index.d.ts +9 -0
- package/dist/columns/forms/components/section-renderer.d.ts +14 -0
- package/dist/columns/forms/components/tab-renderer.d.ts +15 -0
- package/dist/columns/forms/components/wizard-renderer.d.ts +17 -0
- package/dist/columns/forms/fields/base-field.d.ts +24 -0
- package/dist/columns/forms/fields/checkbox-group.d.ts +12 -0
- package/dist/columns/forms/fields/checkbox.d.ts +9 -0
- package/dist/columns/forms/fields/date-picker.d.ts +15 -0
- package/dist/columns/forms/fields/file-upload.d.ts +17 -0
- package/dist/columns/forms/fields/hidden.d.ts +9 -0
- package/dist/columns/forms/fields/index.d.ts +12 -0
- package/dist/columns/forms/fields/radio-group.d.ts +14 -0
- package/dist/columns/forms/fields/repeater.d.ts +21 -0
- package/dist/columns/forms/fields/select.d.ts +16 -0
- package/dist/columns/forms/fields/text-input.d.ts +20 -0
- package/dist/columns/forms/fields/textarea.d.ts +14 -0
- package/dist/columns/forms/fields/toggle.d.ts +11 -0
- package/dist/columns/forms/index.d.ts +26 -0
- package/dist/columns/forms/types/actions.d.ts +11 -0
- package/dist/columns/forms/types/field.d.ts +98 -0
- package/dist/columns/forms/types/form.d.ts +37 -0
- package/dist/columns/forms/types/index.d.ts +4 -0
- package/dist/columns/forms/types/layout.d.ts +31 -0
- package/dist/columns/index.d.ts +2 -0
- package/dist/columns/inertia/index.d.ts +4 -0
- package/dist/columns/inertia/precognition.d.ts +6 -0
- package/dist/columns/inertia/types.d.ts +63 -0
- package/dist/columns/inertia/use-inertia-form.d.ts +2 -0
- package/dist/columns/inertia/use-server-table.d.ts +2 -0
- package/dist/forms/builders/actions-builder.d.ts +14 -0
- package/dist/forms/builders/empty-state.d.ts +46 -0
- package/dist/forms/builders/form-schema.d.ts +35 -0
- package/dist/forms/builders/index.d.ts +2 -0
- package/dist/forms/builders/section-builder.d.ts +16 -0
- package/dist/forms/builders/tab-builder.d.ts +16 -0
- package/dist/forms/builders/table-schema.d.ts +45 -0
- package/dist/forms/builders/wizard-builder.d.ts +17 -0
- package/dist/forms/columns/actions-column.d.ts +26 -0
- package/dist/forms/columns/avatar-group-column.d.ts +38 -0
- package/dist/forms/columns/badge-column.d.ts +29 -0
- package/dist/forms/columns/base-column.d.ts +21 -0
- package/dist/forms/columns/button-column.d.ts +14 -0
- package/dist/forms/columns/checkbox-column.d.ts +5 -0
- package/dist/forms/columns/date-column.d.ts +24 -0
- package/dist/forms/columns/dropdown-column.d.ts +17 -0
- package/dist/forms/columns/enum-column.d.ts +52 -0
- package/dist/forms/columns/icon-column.d.ts +58 -0
- package/dist/forms/columns/image-column.d.ts +21 -0
- package/dist/forms/columns/index.d.ts +18 -0
- package/dist/forms/columns/input-column.d.ts +27 -0
- package/dist/forms/columns/link-column.d.ts +27 -0
- package/dist/forms/columns/number-column.d.ts +23 -0
- package/dist/forms/columns/progress-column.d.ts +30 -0
- package/dist/forms/columns/select-column.d.ts +24 -0
- package/dist/forms/columns/text-column.d.ts +14 -0
- package/dist/forms/columns/types.d.ts +46 -0
- package/dist/forms/components/field-renderer.d.ts +12 -0
- package/dist/forms/components/form-actions.d.ts +9 -0
- package/dist/forms/components/form-renderer.d.ts +14 -0
- package/dist/forms/components/grid-layout.d.ts +7 -0
- package/dist/forms/components/index.d.ts +9 -0
- package/dist/forms/components/section-renderer.d.ts +14 -0
- package/dist/forms/components/tab-renderer.d.ts +15 -0
- package/dist/forms/components/wizard-renderer.d.ts +17 -0
- package/dist/forms/confirm/ConfirmProvider.d.ts +6 -0
- package/dist/forms/confirm/confirm.d.ts +3 -0
- package/dist/forms/confirm/index.d.ts +3 -0
- package/dist/forms/confirm/types.d.ts +10 -0
- package/dist/forms/fields/base-field.d.ts +24 -0
- package/dist/forms/fields/checkbox-group.d.ts +12 -0
- package/dist/forms/fields/checkbox.d.ts +9 -0
- package/dist/forms/fields/date-picker.d.ts +15 -0
- package/dist/forms/fields/file-upload.d.ts +17 -0
- package/dist/forms/fields/hidden.d.ts +9 -0
- package/dist/forms/fields/index.d.ts +12 -0
- package/dist/forms/fields/radio-group.d.ts +14 -0
- package/dist/forms/fields/repeater.d.ts +21 -0
- package/dist/forms/fields/select.d.ts +16 -0
- package/dist/forms/fields/text-input.d.ts +20 -0
- package/dist/forms/fields/textarea.d.ts +14 -0
- package/dist/forms/fields/toggle.d.ts +11 -0
- package/dist/forms/forms/builders/actions-builder.d.ts +14 -0
- package/dist/forms/forms/builders/form-schema.d.ts +35 -0
- package/dist/forms/forms/builders/index.d.ts +5 -0
- package/dist/forms/forms/builders/section-builder.d.ts +16 -0
- package/dist/forms/forms/builders/tab-builder.d.ts +16 -0
- package/dist/forms/forms/builders/wizard-builder.d.ts +17 -0
- package/dist/forms/forms/components/field-renderer.d.ts +12 -0
- package/dist/forms/forms/components/form-actions.d.ts +9 -0
- package/dist/forms/forms/components/form-renderer.d.ts +14 -0
- package/dist/forms/forms/components/grid-layout.d.ts +7 -0
- package/dist/forms/forms/components/index.d.ts +9 -0
- package/dist/forms/forms/components/section-renderer.d.ts +14 -0
- package/dist/forms/forms/components/tab-renderer.d.ts +15 -0
- package/dist/forms/forms/components/wizard-renderer.d.ts +17 -0
- package/dist/forms/forms/fields/base-field.d.ts +24 -0
- package/dist/forms/forms/fields/checkbox-group.d.ts +12 -0
- package/dist/forms/forms/fields/checkbox.d.ts +9 -0
- package/dist/forms/forms/fields/date-picker.d.ts +15 -0
- package/dist/forms/forms/fields/file-upload.d.ts +17 -0
- package/dist/forms/forms/fields/hidden.d.ts +9 -0
- package/dist/forms/forms/fields/index.d.ts +12 -0
- package/dist/forms/forms/fields/radio-group.d.ts +14 -0
- package/dist/forms/forms/fields/repeater.d.ts +21 -0
- package/dist/forms/forms/fields/select.d.ts +16 -0
- package/dist/forms/forms/fields/text-input.d.ts +20 -0
- package/dist/forms/forms/fields/textarea.d.ts +14 -0
- package/dist/forms/forms/fields/toggle.d.ts +11 -0
- package/dist/forms/forms/index.d.ts +26 -0
- package/dist/forms/forms/types/actions.d.ts +11 -0
- package/dist/forms/forms/types/field.d.ts +98 -0
- package/dist/forms/forms/types/form.d.ts +37 -0
- package/dist/forms/forms/types/index.d.ts +4 -0
- package/dist/forms/forms/types/layout.d.ts +31 -0
- package/dist/forms/index.d.ts +25 -0
- package/dist/forms/index.esm.js +1052 -0
- package/dist/forms/index.esm.js.map +1 -0
- package/dist/forms/index.js +1077 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/forms/inertia/index.d.ts +4 -0
- package/dist/forms/inertia/precognition.d.ts +6 -0
- package/dist/forms/inertia/types.d.ts +63 -0
- package/dist/forms/inertia/use-inertia-form.d.ts +2 -0
- package/dist/forms/inertia/use-server-table.d.ts +2 -0
- package/dist/forms/tablefy/avatar-list.d.ts +15 -0
- package/dist/forms/tablefy/data-table-empty.d.ts +8 -0
- package/dist/forms/tablefy/data-table-header.d.ts +17 -0
- package/dist/forms/tablefy/data-table-pagination.d.ts +9 -0
- package/dist/forms/tablefy/data-table-schema.d.ts +1 -0
- package/dist/forms/tablefy/data-table.d.ts +13 -0
- package/dist/forms/tablefy/index.d.ts +6 -0
- package/dist/forms/types/actions.d.ts +21 -0
- package/dist/forms/types/empty-state.d.ts +18 -0
- package/dist/forms/types/field.d.ts +98 -0
- package/dist/forms/types/filters.d.ts +25 -0
- package/dist/forms/types/form.d.ts +37 -0
- package/dist/forms/types/index.d.ts +4 -0
- package/dist/forms/types/layout.d.ts +31 -0
- package/dist/forms/types/table.d.ts +42 -0
- package/dist/forms/utils.d.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +1050 -9
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1058 -0
- package/dist/index.js.map +1 -1
- package/dist/inertia/builders/empty-state.d.ts +46 -0
- package/dist/inertia/builders/index.d.ts +2 -0
- package/dist/inertia/builders/table-schema.d.ts +45 -0
- package/dist/inertia/columns/actions-column.d.ts +26 -0
- package/dist/inertia/columns/avatar-group-column.d.ts +38 -0
- package/dist/inertia/columns/badge-column.d.ts +29 -0
- package/dist/inertia/columns/base-column.d.ts +21 -0
- package/dist/inertia/columns/button-column.d.ts +14 -0
- package/dist/inertia/columns/checkbox-column.d.ts +5 -0
- package/dist/inertia/columns/date-column.d.ts +24 -0
- package/dist/inertia/columns/dropdown-column.d.ts +17 -0
- package/dist/inertia/columns/enum-column.d.ts +52 -0
- package/dist/inertia/columns/icon-column.d.ts +58 -0
- package/dist/inertia/columns/image-column.d.ts +21 -0
- package/dist/inertia/columns/index.d.ts +18 -0
- package/dist/inertia/columns/input-column.d.ts +27 -0
- package/dist/inertia/columns/link-column.d.ts +27 -0
- package/dist/inertia/columns/number-column.d.ts +23 -0
- package/dist/inertia/columns/progress-column.d.ts +30 -0
- package/dist/inertia/columns/select-column.d.ts +24 -0
- package/dist/inertia/columns/text-column.d.ts +14 -0
- package/dist/inertia/columns/types.d.ts +46 -0
- package/dist/inertia/confirm/ConfirmProvider.d.ts +6 -0
- package/dist/inertia/confirm/confirm.d.ts +3 -0
- package/dist/inertia/confirm/index.d.ts +3 -0
- package/dist/inertia/confirm/types.d.ts +10 -0
- package/dist/inertia/forms/builders/actions-builder.d.ts +14 -0
- package/dist/inertia/forms/builders/form-schema.d.ts +35 -0
- package/dist/inertia/forms/builders/index.d.ts +5 -0
- package/dist/inertia/forms/builders/section-builder.d.ts +16 -0
- package/dist/inertia/forms/builders/tab-builder.d.ts +16 -0
- package/dist/inertia/forms/builders/wizard-builder.d.ts +17 -0
- package/dist/inertia/forms/components/field-renderer.d.ts +12 -0
- package/dist/inertia/forms/components/form-actions.d.ts +9 -0
- package/dist/inertia/forms/components/form-renderer.d.ts +14 -0
- package/dist/inertia/forms/components/grid-layout.d.ts +7 -0
- package/dist/inertia/forms/components/index.d.ts +9 -0
- package/dist/inertia/forms/components/section-renderer.d.ts +14 -0
- package/dist/inertia/forms/components/tab-renderer.d.ts +15 -0
- package/dist/inertia/forms/components/wizard-renderer.d.ts +17 -0
- package/dist/inertia/forms/fields/base-field.d.ts +24 -0
- package/dist/inertia/forms/fields/checkbox-group.d.ts +12 -0
- package/dist/inertia/forms/fields/checkbox.d.ts +9 -0
- package/dist/inertia/forms/fields/date-picker.d.ts +15 -0
- package/dist/inertia/forms/fields/file-upload.d.ts +17 -0
- package/dist/inertia/forms/fields/hidden.d.ts +9 -0
- package/dist/inertia/forms/fields/index.d.ts +12 -0
- package/dist/inertia/forms/fields/radio-group.d.ts +14 -0
- package/dist/inertia/forms/fields/repeater.d.ts +21 -0
- package/dist/inertia/forms/fields/select.d.ts +16 -0
- package/dist/inertia/forms/fields/text-input.d.ts +20 -0
- package/dist/inertia/forms/fields/textarea.d.ts +14 -0
- package/dist/inertia/forms/fields/toggle.d.ts +11 -0
- package/dist/inertia/forms/index.d.ts +26 -0
- package/dist/inertia/forms/types/actions.d.ts +11 -0
- package/dist/inertia/forms/types/field.d.ts +98 -0
- package/dist/inertia/forms/types/form.d.ts +37 -0
- package/dist/inertia/forms/types/index.d.ts +4 -0
- package/dist/inertia/forms/types/layout.d.ts +31 -0
- package/dist/inertia/index.d.ts +4 -0
- package/dist/inertia/index.esm.js +149 -0
- package/dist/inertia/index.esm.js.map +1 -0
- package/dist/inertia/index.js +153 -0
- package/dist/inertia/index.js.map +1 -0
- package/dist/inertia/inertia/index.d.ts +4 -0
- package/dist/inertia/inertia/precognition.d.ts +6 -0
- package/dist/inertia/inertia/types.d.ts +63 -0
- package/dist/inertia/inertia/use-inertia-form.d.ts +2 -0
- package/dist/inertia/inertia/use-server-table.d.ts +2 -0
- package/dist/inertia/precognition.d.ts +6 -0
- package/dist/inertia/tablefy/avatar-list.d.ts +15 -0
- package/dist/inertia/tablefy/data-table-empty.d.ts +8 -0
- package/dist/inertia/tablefy/data-table-header.d.ts +17 -0
- package/dist/inertia/tablefy/data-table-pagination.d.ts +9 -0
- package/dist/inertia/tablefy/data-table-schema.d.ts +1 -0
- package/dist/inertia/tablefy/data-table.d.ts +13 -0
- package/dist/inertia/tablefy/index.d.ts +6 -0
- package/dist/inertia/types/actions.d.ts +21 -0
- package/dist/inertia/types/empty-state.d.ts +18 -0
- package/dist/inertia/types/filters.d.ts +25 -0
- package/dist/inertia/types/index.d.ts +4 -0
- package/dist/inertia/types/table.d.ts +42 -0
- package/dist/inertia/types.d.ts +63 -0
- package/dist/inertia/use-inertia-form.d.ts +2 -0
- package/dist/inertia/use-server-table.d.ts +2 -0
- package/dist/inertia/utils.d.ts +1 -0
- package/package.json +41 -14
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseFieldConfig, ValidationRule } from "../types/field";
|
|
3
|
+
import { FieldType, FieldRenderProps, BuiltField } from "../types/form";
|
|
4
|
+
export declare abstract class BaseField<TData extends Record<string, any>, TConfig extends BaseFieldConfig<TData>> {
|
|
5
|
+
protected config: TConfig;
|
|
6
|
+
constructor(name: string);
|
|
7
|
+
label(label: string): this;
|
|
8
|
+
placeholder(placeholder: string): this;
|
|
9
|
+
helperText(text: string): this;
|
|
10
|
+
required(required?: boolean): this;
|
|
11
|
+
disabled(disabled?: boolean | ((data: TData) => boolean)): this;
|
|
12
|
+
readOnly(readOnly?: boolean): this;
|
|
13
|
+
hidden(hidden?: boolean | ((data: TData) => boolean)): this;
|
|
14
|
+
default(value: any): this;
|
|
15
|
+
columnSpan(span: number): this;
|
|
16
|
+
className(className: string): this;
|
|
17
|
+
rules(rules: ValidationRule[]): this;
|
|
18
|
+
zodSchema(schema: any): this;
|
|
19
|
+
dependsOn<K extends string & keyof TData>(field: K, condition: (value: TData[K], data: TData) => boolean, effect?: "show" | "hide" | "enable" | "disable" | "setValue", effectValue?: any): this;
|
|
20
|
+
reactive(reactive?: boolean): this;
|
|
21
|
+
abstract readonly fieldType: FieldType;
|
|
22
|
+
abstract renderField(props: FieldRenderProps<TData>): ReactNode;
|
|
23
|
+
build(): BuiltField<TData>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { CheckboxGroupConfig, SelectOption } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class CheckboxGroup<TData extends Record<string, any>> extends BaseField<TData, CheckboxGroupConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
constructor(name: string);
|
|
8
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): CheckboxGroup<TData>;
|
|
9
|
+
options(options: SelectOption[]): this;
|
|
10
|
+
columns(columns: number): this;
|
|
11
|
+
renderField({ value, onChange, error, disabled, }: FieldRenderProps<TData>): ReactNode;
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { CheckboxConfig } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class Checkbox<TData extends Record<string, any>> extends BaseField<TData, CheckboxConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): Checkbox<TData>;
|
|
8
|
+
renderField({ value, onChange, error, disabled, }: FieldRenderProps<TData>): ReactNode;
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { DatePickerConfig } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class DatePicker<TData extends Record<string, any>> extends BaseField<TData, DatePickerConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
constructor(name: string);
|
|
8
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): DatePicker<TData>;
|
|
9
|
+
minDate(date: Date | ((data: TData) => Date)): this;
|
|
10
|
+
maxDate(date: Date | ((data: TData) => Date)): this;
|
|
11
|
+
format(format: string): this;
|
|
12
|
+
includeTime(includeTime?: boolean): this;
|
|
13
|
+
locale(locale: string): this;
|
|
14
|
+
renderField({ value, onChange, error, disabled, data, }: FieldRenderProps<TData>): ReactNode;
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { FileUploadConfig } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class FileUpload<TData extends Record<string, any>> extends BaseField<TData, FileUploadConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
constructor(name: string);
|
|
8
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): FileUpload<TData>;
|
|
9
|
+
accept(accept: string): this;
|
|
10
|
+
maxSize(bytes: number): this;
|
|
11
|
+
multiple(multiple?: boolean): this;
|
|
12
|
+
maxFiles(max: number): this;
|
|
13
|
+
preview(preview?: boolean): this;
|
|
14
|
+
image(): this;
|
|
15
|
+
pdf(): this;
|
|
16
|
+
renderField({ value, onChange, error, disabled, }: FieldRenderProps<TData>): ReactNode;
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { HiddenConfig } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class Hidden<TData extends Record<string, any>> extends BaseField<TData, HiddenConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): Hidden<TData>;
|
|
8
|
+
renderField({ value }: FieldRenderProps<TData>): ReactNode;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { BaseField } from "./base-field";
|
|
2
|
+
export { TextInput } from "./text-input";
|
|
3
|
+
export { Textarea } from "./textarea";
|
|
4
|
+
export { Select } from "./select";
|
|
5
|
+
export { Checkbox } from "./checkbox";
|
|
6
|
+
export { Toggle } from "./toggle";
|
|
7
|
+
export { RadioGroup } from "./radio-group";
|
|
8
|
+
export { DatePicker } from "./date-picker";
|
|
9
|
+
export { Hidden } from "./hidden";
|
|
10
|
+
export { FileUpload } from "./file-upload";
|
|
11
|
+
export { CheckboxGroup } from "./checkbox-group";
|
|
12
|
+
export { Repeater } from "./repeater";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { RadioGroupConfig, SelectOption } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class RadioGroup<TData extends Record<string, any>> extends BaseField<TData, RadioGroupConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
constructor(name: string);
|
|
8
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): RadioGroup<TData>;
|
|
9
|
+
options(options: SelectOption[]): this;
|
|
10
|
+
orientation(orientation: "horizontal" | "vertical"): this;
|
|
11
|
+
horizontal(): this;
|
|
12
|
+
vertical(): this;
|
|
13
|
+
renderField({ value, onChange, error, disabled, }: FieldRenderProps<TData>): ReactNode;
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { RepeaterConfig } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps, BuiltField } from "../types/form";
|
|
5
|
+
type FieldBuilder<TData extends Record<string, any>> = {
|
|
6
|
+
build(): BuiltField<TData>;
|
|
7
|
+
};
|
|
8
|
+
export declare class Repeater<TData extends Record<string, any>> extends BaseField<TData, RepeaterConfig<TData>> {
|
|
9
|
+
readonly fieldType: FieldType;
|
|
10
|
+
private fieldBuilders;
|
|
11
|
+
constructor(name: string);
|
|
12
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): Repeater<TData>;
|
|
13
|
+
fields(...builders: FieldBuilder<any>[]): this;
|
|
14
|
+
minItems(min: number): this;
|
|
15
|
+
maxItems(max: number): this;
|
|
16
|
+
addLabel(label: string): this;
|
|
17
|
+
collapsible(collapsible?: boolean): this;
|
|
18
|
+
orderable(orderable?: boolean): this;
|
|
19
|
+
renderField({ value, onChange, error, disabled, data, }: FieldRenderProps<TData>): ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { SelectConfig, SelectOption } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class Select<TData extends Record<string, any>> extends BaseField<TData, SelectConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
constructor(name: string);
|
|
8
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): Select<TData>;
|
|
9
|
+
options(options: SelectOption[] | ((data: TData) => SelectOption[])): this;
|
|
10
|
+
multiple(multiple?: boolean): this;
|
|
11
|
+
searchable(searchable?: boolean): this;
|
|
12
|
+
clearable(clearable?: boolean): this;
|
|
13
|
+
maxItems(max: number): this;
|
|
14
|
+
loadOptions(fn: (query: string) => Promise<SelectOption[]>): this;
|
|
15
|
+
renderField({ value, onChange, error, disabled, data, }: FieldRenderProps<TData>): ReactNode;
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { TextInputConfig } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class TextInput<TData extends Record<string, any>> extends BaseField<TData, TextInputConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): TextInput<TData>;
|
|
8
|
+
type(type: "text" | "email" | "password" | "number" | "url" | "tel"): this;
|
|
9
|
+
email(): this;
|
|
10
|
+
password(): this;
|
|
11
|
+
number(): this;
|
|
12
|
+
url(): this;
|
|
13
|
+
tel(): this;
|
|
14
|
+
minLength(min: number): this;
|
|
15
|
+
maxLength(max: number): this;
|
|
16
|
+
prefix(prefix: string | ReactNode): this;
|
|
17
|
+
suffix(suffix: string | ReactNode): this;
|
|
18
|
+
autocomplete(value: string): this;
|
|
19
|
+
renderField({ value, onChange, onBlur, error, disabled, }: FieldRenderProps<TData>): ReactNode;
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { TextareaConfig } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class Textarea<TData extends Record<string, any>> extends BaseField<TData, TextareaConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
constructor(name: string);
|
|
8
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): Textarea<TData>;
|
|
9
|
+
rows(rows: number): this;
|
|
10
|
+
minLength(min: number): this;
|
|
11
|
+
maxLength(max: number): this;
|
|
12
|
+
autoResize(autoResize?: boolean): this;
|
|
13
|
+
renderField({ value, onChange, onBlur, error, disabled, }: FieldRenderProps<TData>): ReactNode;
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseField } from "./base-field";
|
|
3
|
+
import { ToggleConfig } from "../types/field";
|
|
4
|
+
import { FieldType, FieldRenderProps } from "../types/form";
|
|
5
|
+
export declare class Toggle<TData extends Record<string, any>> extends BaseField<TData, ToggleConfig<TData>> {
|
|
6
|
+
readonly fieldType: FieldType;
|
|
7
|
+
static make<TData extends Record<string, any>>(name: string & keyof TData | string): Toggle<TData>;
|
|
8
|
+
onLabel(label: string): this;
|
|
9
|
+
offLabel(label: string): this;
|
|
10
|
+
renderField({ value, onChange, error, disabled, }: FieldRenderProps<TData>): ReactNode;
|
|
11
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export { FormSchema } from "./builders/form-schema";
|
|
2
|
+
export { ActionsBuilder } from "./builders/actions-builder";
|
|
3
|
+
export { SectionBuilder } from "./builders/section-builder";
|
|
4
|
+
export { TabBuilder } from "./builders/tab-builder";
|
|
5
|
+
export { WizardStep } from "./builders/wizard-builder";
|
|
6
|
+
export { BaseField } from "./fields/base-field";
|
|
7
|
+
export { TextInput } from "./fields/text-input";
|
|
8
|
+
export { Textarea } from "./fields/textarea";
|
|
9
|
+
export { Select } from "./fields/select";
|
|
10
|
+
export { Checkbox } from "./fields/checkbox";
|
|
11
|
+
export { Toggle } from "./fields/toggle";
|
|
12
|
+
export { RadioGroup } from "./fields/radio-group";
|
|
13
|
+
export { DatePicker } from "./fields/date-picker";
|
|
14
|
+
export { Hidden } from "./fields/hidden";
|
|
15
|
+
export { FileUpload } from "./fields/file-upload";
|
|
16
|
+
export { CheckboxGroup } from "./fields/checkbox-group";
|
|
17
|
+
export { Repeater } from "./fields/repeater";
|
|
18
|
+
export { FormRenderer } from "./components/form-renderer";
|
|
19
|
+
export type { FormRendererProps } from "./components/form-renderer";
|
|
20
|
+
export { FieldRenderer } from "./components/field-renderer";
|
|
21
|
+
export { GridLayout } from "./components/grid-layout";
|
|
22
|
+
export { FormActions } from "./components/form-actions";
|
|
23
|
+
export { SectionRenderer } from "./components/section-renderer";
|
|
24
|
+
export { TabRenderer } from "./components/tab-renderer";
|
|
25
|
+
export { WizardRenderer } from "./components/wizard-renderer";
|
|
26
|
+
export type { BaseFieldConfig, ValidationRule, DependencyConfig, TextInputConfig, TextareaConfig, SelectOption, SelectConfig, CheckboxConfig, CheckboxGroupConfig, ToggleConfig, RadioGroupConfig, DatePickerConfig, FileUploadConfig, RepeaterConfig, HiddenConfig, FieldType, FieldRenderProps, BuiltField, FormSchemaConfig, FormBuildResult, SectionConfig, TabConfig, WizardStepConfig, FormActionConfig, } from "./types";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export interface FormActionConfig<TData extends Record<string, any> = Record<string, any>> {
|
|
3
|
+
type: "submit" | "cancel" | "custom";
|
|
4
|
+
label: string;
|
|
5
|
+
variant?: "default" | "secondary" | "outline" | "ghost" | "destructive";
|
|
6
|
+
disabled?: boolean | ((data: TData, processing: boolean) => boolean);
|
|
7
|
+
loading?: boolean;
|
|
8
|
+
icon?: ReactNode;
|
|
9
|
+
onClick?: () => void;
|
|
10
|
+
href?: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export interface BaseFieldConfig<TData extends Record<string, any>> {
|
|
3
|
+
name: string;
|
|
4
|
+
label?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
helperText?: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
disabled?: boolean | ((data: TData) => boolean);
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
hidden?: boolean | ((data: TData) => boolean);
|
|
11
|
+
defaultValue?: any;
|
|
12
|
+
columnSpan?: number;
|
|
13
|
+
className?: string;
|
|
14
|
+
rules?: ValidationRule[];
|
|
15
|
+
zodSchema?: any;
|
|
16
|
+
dependsOn?: DependencyConfig<TData>[];
|
|
17
|
+
reactive?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface ValidationRule {
|
|
20
|
+
type: string;
|
|
21
|
+
value?: any;
|
|
22
|
+
message?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface DependencyConfig<TData> {
|
|
25
|
+
field: string & keyof TData;
|
|
26
|
+
condition: (value: any, data: TData) => boolean;
|
|
27
|
+
effect: "show" | "hide" | "enable" | "disable" | "setValue";
|
|
28
|
+
effectValue?: any;
|
|
29
|
+
}
|
|
30
|
+
export interface TextInputConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
31
|
+
type?: "text" | "email" | "password" | "number" | "url" | "tel";
|
|
32
|
+
minLength?: number;
|
|
33
|
+
maxLength?: number;
|
|
34
|
+
prefix?: string | ReactNode;
|
|
35
|
+
suffix?: string | ReactNode;
|
|
36
|
+
mask?: string;
|
|
37
|
+
autocomplete?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface TextareaConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
40
|
+
rows?: number;
|
|
41
|
+
minLength?: number;
|
|
42
|
+
maxLength?: number;
|
|
43
|
+
autoResize?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface SelectOption {
|
|
46
|
+
label: string;
|
|
47
|
+
value: string;
|
|
48
|
+
disabled?: boolean;
|
|
49
|
+
group?: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
icon?: ReactNode;
|
|
52
|
+
}
|
|
53
|
+
export interface SelectConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
54
|
+
options: SelectOption[] | ((data: TData) => SelectOption[]);
|
|
55
|
+
multiple?: boolean;
|
|
56
|
+
searchable?: boolean;
|
|
57
|
+
clearable?: boolean;
|
|
58
|
+
maxItems?: number;
|
|
59
|
+
loadOptions?: (query: string) => Promise<SelectOption[]>;
|
|
60
|
+
}
|
|
61
|
+
export interface CheckboxConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
62
|
+
}
|
|
63
|
+
export interface CheckboxGroupConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
64
|
+
options: SelectOption[];
|
|
65
|
+
columns?: number;
|
|
66
|
+
}
|
|
67
|
+
export interface ToggleConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
68
|
+
onLabel?: string;
|
|
69
|
+
offLabel?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface RadioGroupConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
72
|
+
options: SelectOption[];
|
|
73
|
+
orientation?: "horizontal" | "vertical";
|
|
74
|
+
}
|
|
75
|
+
export interface DatePickerConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
76
|
+
minDate?: Date | ((data: TData) => Date);
|
|
77
|
+
maxDate?: Date | ((data: TData) => Date);
|
|
78
|
+
format?: string;
|
|
79
|
+
includeTime?: boolean;
|
|
80
|
+
locale?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface FileUploadConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
83
|
+
accept?: string;
|
|
84
|
+
maxSize?: number;
|
|
85
|
+
multiple?: boolean;
|
|
86
|
+
maxFiles?: number;
|
|
87
|
+
preview?: boolean;
|
|
88
|
+
}
|
|
89
|
+
export interface RepeaterConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
90
|
+
fields: any[];
|
|
91
|
+
minItems?: number;
|
|
92
|
+
maxItems?: number;
|
|
93
|
+
addLabel?: string;
|
|
94
|
+
collapsible?: boolean;
|
|
95
|
+
orderable?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface HiddenConfig<TData extends Record<string, any>> extends BaseFieldConfig<TData> {
|
|
98
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { BaseFieldConfig } from "./field";
|
|
3
|
+
import { SectionConfig, TabConfig, WizardStepConfig } from "./layout";
|
|
4
|
+
import { FormActionConfig } from "./actions";
|
|
5
|
+
export type FieldType = "text" | "textarea" | "select" | "multi-select" | "checkbox" | "checkbox-group" | "toggle" | "radio-group" | "date-picker" | "date-time-picker" | "file-upload" | "repeater" | "hidden";
|
|
6
|
+
export interface FieldRenderProps<TData extends Record<string, any> = Record<string, any>> {
|
|
7
|
+
value: any;
|
|
8
|
+
onChange: (value: any) => void;
|
|
9
|
+
onBlur?: () => void;
|
|
10
|
+
error?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
data: TData;
|
|
13
|
+
}
|
|
14
|
+
export interface BuiltField<TData extends Record<string, any> = Record<string, any>> {
|
|
15
|
+
name: string;
|
|
16
|
+
type: FieldType;
|
|
17
|
+
config: BaseFieldConfig<TData> & Record<string, any>;
|
|
18
|
+
render: (props: FieldRenderProps<TData>) => ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export interface FormSchemaConfig<TData extends Record<string, any>> {
|
|
21
|
+
title?: string | ((data: TData) => string);
|
|
22
|
+
description?: string | ((data: TData) => string);
|
|
23
|
+
columns?: number;
|
|
24
|
+
bordered?: boolean;
|
|
25
|
+
spacing?: "compact" | "normal" | "relaxed";
|
|
26
|
+
fields: BuiltField<TData>[];
|
|
27
|
+
sections?: SectionConfig<TData>[];
|
|
28
|
+
tabs?: TabConfig<TData>[];
|
|
29
|
+
wizardSteps?: WizardStepConfig<TData>[];
|
|
30
|
+
actions?: FormActionConfig<TData>[];
|
|
31
|
+
actionsPosition?: "start" | "end" | "between" | "center";
|
|
32
|
+
disabled?: boolean | ((data: TData) => boolean);
|
|
33
|
+
}
|
|
34
|
+
export interface FormBuildResult<TData extends Record<string, any>> {
|
|
35
|
+
fields: BuiltField<TData>[];
|
|
36
|
+
config: FormSchemaConfig<TData>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { BaseFieldConfig, ValidationRule, DependencyConfig, TextInputConfig, TextareaConfig, SelectOption, SelectConfig, CheckboxConfig, CheckboxGroupConfig, ToggleConfig, RadioGroupConfig, DatePickerConfig, FileUploadConfig, RepeaterConfig, HiddenConfig, } from "./field";
|
|
2
|
+
export type { FieldType, FieldRenderProps, BuiltField, FormSchemaConfig, FormBuildResult, } from "./form";
|
|
3
|
+
export type { SectionConfig, TabConfig, WizardStepConfig, } from "./layout";
|
|
4
|
+
export type { FormActionConfig } from "./actions";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export interface SectionConfig<TData extends Record<string, any>> {
|
|
3
|
+
id: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
fields: string[];
|
|
7
|
+
columns?: number;
|
|
8
|
+
collapsible?: boolean;
|
|
9
|
+
collapsed?: boolean;
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
hidden?: (data: TData) => boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface TabConfig<TData extends Record<string, any>> {
|
|
14
|
+
id: string;
|
|
15
|
+
label: string;
|
|
16
|
+
icon?: ReactNode;
|
|
17
|
+
fields?: string[];
|
|
18
|
+
sections?: SectionConfig<TData>[];
|
|
19
|
+
badge?: string | number | ((data: TData) => string | number);
|
|
20
|
+
disabled?: (data: TData) => boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface WizardStepConfig<TData extends Record<string, any>> {
|
|
23
|
+
id: string;
|
|
24
|
+
label: string;
|
|
25
|
+
description?: string;
|
|
26
|
+
icon?: ReactNode;
|
|
27
|
+
fields?: string[];
|
|
28
|
+
sections?: SectionConfig<TData>[];
|
|
29
|
+
canProceed?: (data: TData) => boolean;
|
|
30
|
+
beforeNext?: (data: TData) => Promise<boolean> | boolean;
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { DataTable } from "./tablefy/data-table";
|
|
2
|
+
export { DataTableSchema } from "./tablefy/data-table-schema";
|
|
3
|
+
export { TableSchema, EmptyStateBuilder } from "./builders";
|
|
4
|
+
export { AvatarGroupColumn, AvatarGroupColumn as avatarGroupColumn, } from "./columns/avatar-group-column";
|
|
5
|
+
export { BadgeColumn, BadgeColumn as badgeColumn, } from "./columns/badge-column";
|
|
6
|
+
export { ButtonColumn, ButtonColumn as buttonColumn, } from "./columns/button-column";
|
|
7
|
+
export { CheckboxColumn, CheckboxColumn as checkboxColumn, } from "./columns/checkbox-column";
|
|
8
|
+
export { DateColumn, DateColumn as dateColumn } from "./columns/date-column";
|
|
9
|
+
export { DropdownColumn, DropdownColumn as dropdownColumn, } from "./columns/dropdown-column";
|
|
10
|
+
export { IconColumn, IconColumn as iconColumn } from "./columns/icon-column";
|
|
11
|
+
export { ImageColumn } from "./columns/image-column";
|
|
12
|
+
export { InputColumn, InputColumn as inputColumn, } from "./columns/input-column";
|
|
13
|
+
export { LinkColumn } from "./columns/link-column";
|
|
14
|
+
export { NumberColumn } from "./columns/number-column";
|
|
15
|
+
export { ProgressColumn, SelectColumn } from "./columns";
|
|
16
|
+
export { ActionsColumn, ActionsColumn as actionsColumn, } from "./columns/actions-column";
|
|
17
|
+
export type { ActionItem } from "./columns/actions-column";
|
|
18
|
+
export { TextColumn, TextColumn as textColumn } from "./columns/text-column";
|
|
19
|
+
export { EnumColumn, EnumColumn as enumColumn } from "./columns/enum-column";
|
|
20
|
+
export type { EnumOption } from "./columns/enum-column";
|
|
21
|
+
export { ConfirmProvider, confirm } from "./confirm";
|
|
22
|
+
export type { ConfirmOptions } from "./confirm";
|
|
23
|
+
export type { DataTableConfig, EmptyStateConfig, FilterConfig, HeaderAction, PaginationConfig, SearchConfig, } from "./types";
|
|
24
|
+
export { FormSchema, ActionsBuilder, SectionBuilder, TabBuilder, WizardStep, TextInput, Textarea, Select, Checkbox, Toggle, RadioGroup, DatePicker, Hidden, FileUpload, CheckboxGroup, Repeater, FormRenderer, } from "./forms";
|
|
25
|
+
export type { FormSchemaConfig, FormBuildResult, FormRendererProps, BuiltField, FieldType, FieldRenderProps, BaseFieldConfig, SelectOption as FormSelectOption, FormActionConfig, SectionConfig, TabConfig, WizardStepConfig, } from "./forms";
|