@codella-software/react 2.2.26 → 2.2.27
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/dist/filters-and-sort/useFiltersAndSort.d.ts +10 -4
- package/dist/filters-and-sort/useFiltersAndSort.d.ts.map +1 -1
- package/dist/form-builder/useFormBuilder.d.ts.map +1 -1
- package/dist/index.cjs +49 -121
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +49 -121
- package/dist/index.mjs.map +1 -1
- package/dist/table-builder/index.d.ts +1 -1
- package/dist/table-builder/index.d.ts.map +1 -1
- package/dist/table-builder/useTableService.d.ts +28 -83
- package/dist/table-builder/useTableService.d.ts.map +1 -1
- package/dist/test-setup.d.ts +1 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/package.json +4 -3
- package/dist/useFiltersAndSort.d.ts +0 -67
- package/dist/useFiltersAndSort.d.ts.map +0 -1
- package/dist/useFormBuilder.d.ts +0 -70
- package/dist/useFormBuilder.d.ts.map +0 -1
- package/dist/useTableService.d.ts +0 -93
- package/dist/useTableService.d.ts.map +0 -1
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { FiltersAndSortService } from '@codella-software/utils';
|
|
2
|
-
/**
|
|
3
|
-
* Hook options for useFiltersAndSort
|
|
4
|
-
*/
|
|
5
|
-
export interface UseFiltersAndSortOptions {
|
|
6
|
-
/** FiltersAndSortService instance */
|
|
7
|
-
service: FiltersAndSortService;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Hook return value for useFiltersAndSort
|
|
11
|
-
*/
|
|
12
|
-
export interface UseFiltersAndSortReturn {
|
|
13
|
-
/** Current filter state */
|
|
14
|
-
filters: Record<string, any>;
|
|
15
|
-
/** Current sort field */
|
|
16
|
-
sortBy: string | null;
|
|
17
|
-
/** Current sort direction */
|
|
18
|
-
sortDirection: 'asc' | 'desc';
|
|
19
|
-
/** Current page */
|
|
20
|
-
page: number;
|
|
21
|
-
/** Page size */
|
|
22
|
-
pageSize: number;
|
|
23
|
-
/** Set filter */
|
|
24
|
-
setFilter: (key: string, value: any) => void;
|
|
25
|
-
/** Clear specific filter */
|
|
26
|
-
clearFilter: (key: string) => void;
|
|
27
|
-
/** Clear all filters */
|
|
28
|
-
clearAllFilters: () => void;
|
|
29
|
-
/** Set sort */
|
|
30
|
-
setSort: (field: string, direction: 'asc' | 'desc') => void;
|
|
31
|
-
/** Toggle sort direction for field */
|
|
32
|
-
toggleSort: (field: string) => void;
|
|
33
|
-
/** Set page */
|
|
34
|
-
setPage: (page: number) => void;
|
|
35
|
-
/** Set page size */
|
|
36
|
-
setPageSize: (size: number) => void;
|
|
37
|
-
/** Go to next page */
|
|
38
|
-
nextPage: () => void;
|
|
39
|
-
/** Go to previous page */
|
|
40
|
-
prevPage: () => void;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* React hook that wraps FiltersAndSortService
|
|
44
|
-
*
|
|
45
|
-
* @param options - Hook options including FiltersAndSortService instance
|
|
46
|
-
* @returns Filters and sort state with control methods
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```tsx
|
|
50
|
-
* const service = new FiltersAndSortService({ storageKey: 'my-filters' });
|
|
51
|
-
*
|
|
52
|
-
* function MyTable() {
|
|
53
|
-
* const filters = useFiltersAndSort({ service });
|
|
54
|
-
* return (
|
|
55
|
-
* <div>
|
|
56
|
-
* <input
|
|
57
|
-
* value={filters.filters.name || ''}
|
|
58
|
-
* onChange={(e) => filters.setFilter('name', e.target.value)}
|
|
59
|
-
* />
|
|
60
|
-
* <button onClick={() => filters.clearAllFilters()}>Clear</button>
|
|
61
|
-
* </div>
|
|
62
|
-
* );
|
|
63
|
-
* }
|
|
64
|
-
* ```
|
|
65
|
-
*/
|
|
66
|
-
export declare function useFiltersAndSort(options: UseFiltersAndSortOptions): UseFiltersAndSortReturn;
|
|
67
|
-
//# sourceMappingURL=useFiltersAndSort.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFiltersAndSort.d.ts","sourceRoot":"","sources":["../src/useFiltersAndSort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAA2B,MAAM,yBAAyB,CAAA;AAGxF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qCAAqC;IACrC,OAAO,EAAE,qBAAqB,CAAA;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,yBAAyB;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,6BAA6B;IAC7B,aAAa,EAAE,KAAK,GAAG,MAAM,CAAA;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB;IACjB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAC5C,4BAA4B;IAC5B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,wBAAwB;IACxB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,eAAe;IACf,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAA;IAC3D,sCAAsC;IACtC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,eAAe;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,oBAAoB;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,uBAAuB,CAmEzB"}
|
package/dist/useFormBuilder.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { FormBuilder } from '@codella-software/utils';
|
|
2
|
-
/**
|
|
3
|
-
* Hook options for useFormBuilder
|
|
4
|
-
*/
|
|
5
|
-
export interface UseFormBuilderOptions<T extends Record<string, any>> {
|
|
6
|
-
/** FormBuilder instance */
|
|
7
|
-
builder: FormBuilder<T>;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Hook return value for useFormBuilder
|
|
11
|
-
*/
|
|
12
|
-
export interface UseFormBuilderReturn<T extends Record<string, any>> {
|
|
13
|
-
/** Current form values */
|
|
14
|
-
values: T;
|
|
15
|
-
/** Form validation errors */
|
|
16
|
-
errors: Record<string, string | undefined>;
|
|
17
|
-
/** Form touched fields */
|
|
18
|
-
touched: Record<string, boolean>;
|
|
19
|
-
/** Current form step (for multi-step forms) */
|
|
20
|
-
currentStep: number;
|
|
21
|
-
/** Total form steps */
|
|
22
|
-
totalSteps: number;
|
|
23
|
-
/** Is form currently submitting */
|
|
24
|
-
isSubmitting: boolean;
|
|
25
|
-
/** Is form valid */
|
|
26
|
-
isValid: boolean;
|
|
27
|
-
/** Set field value */
|
|
28
|
-
setFieldValue: (field: keyof T, value: any) => Promise<void>;
|
|
29
|
-
/** Set field touched */
|
|
30
|
-
setFieldTouched: (field: keyof T, touched: boolean) => void;
|
|
31
|
-
/** Validate entire form */
|
|
32
|
-
validate: () => Promise<Record<string, string | undefined>>;
|
|
33
|
-
/** Submit form */
|
|
34
|
-
submit: () => Promise<T | null>;
|
|
35
|
-
/** Reset form to initial values */
|
|
36
|
-
reset: () => void;
|
|
37
|
-
/** Go to next step */
|
|
38
|
-
nextStep: () => void;
|
|
39
|
-
/** Go to previous step */
|
|
40
|
-
prevStep: () => void;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* React hook that wraps FormBuilder and provides form state management
|
|
44
|
-
*
|
|
45
|
-
* @param options - Hook options including FormBuilder instance
|
|
46
|
-
* @returns Form state and methods
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```tsx
|
|
50
|
-
* const builder = new FormBuilder<{ name: string }>()
|
|
51
|
-
* .addField({ name: 'name', type: 'text', label: 'Name' })
|
|
52
|
-
* .build();
|
|
53
|
-
*
|
|
54
|
-
* function MyForm() {
|
|
55
|
-
* const form = useFormBuilder({ builder });
|
|
56
|
-
* return (
|
|
57
|
-
* <form onSubmit={(e) => { e.preventDefault(); form.submit(); }}>
|
|
58
|
-
* <input
|
|
59
|
-
* value={form.values.name}
|
|
60
|
-
* onChange={(e) => form.setFieldValue('name', e.target.value)}
|
|
61
|
-
* />
|
|
62
|
-
* {form.errors.name && <span>{form.errors.name}</span>}
|
|
63
|
-
* <button type="submit">Submit</button>
|
|
64
|
-
* </form>
|
|
65
|
-
* );
|
|
66
|
-
* }
|
|
67
|
-
* ```
|
|
68
|
-
*/
|
|
69
|
-
export declare function useFormBuilder<T extends Record<string, any>>(options: UseFormBuilderOptions<T>): UseFormBuilderReturn<T>;
|
|
70
|
-
//# sourceMappingURL=useFormBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useFormBuilder.d.ts","sourceRoot":"","sources":["../src/useFormBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAClE,2BAA2B;IAC3B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACjE,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAA;IACT,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC1C,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,YAAY,EAAE,OAAO,CAAA;IACrB,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,sBAAsB;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,wBAAwB;IACxB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3D,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IAC3D,kBAAkB;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/B,mCAAmC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAChC,oBAAoB,CAAC,CAAC,CAAC,CAgEzB"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { TableBuilderConfig } from '@codella-software/utils';
|
|
2
|
-
/**
|
|
3
|
-
* Hook options for useTableService
|
|
4
|
-
*/
|
|
5
|
-
export interface UseTableServiceOptions<T extends Record<string, any>> {
|
|
6
|
-
/** TableBuilder configuration */
|
|
7
|
-
config: TableBuilderConfig<T>;
|
|
8
|
-
/** Table data */
|
|
9
|
-
data: T[];
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Hook return value for useTableService
|
|
13
|
-
*/
|
|
14
|
-
export interface UseTableServiceReturn<T extends Record<string, any>> {
|
|
15
|
-
/** Filtered and paginated data rows */
|
|
16
|
-
rows: T[];
|
|
17
|
-
/** Selected row IDs */
|
|
18
|
-
selectedRows: string[];
|
|
19
|
-
/** All rows selected flag */
|
|
20
|
-
allSelected: boolean;
|
|
21
|
-
/** Current page */
|
|
22
|
-
currentPage: number;
|
|
23
|
-
/** Page size */
|
|
24
|
-
pageSize: number;
|
|
25
|
-
/** Total pages */
|
|
26
|
-
totalPages: number;
|
|
27
|
-
/** Total item count */
|
|
28
|
-
totalItems: number;
|
|
29
|
-
/** Has next page */
|
|
30
|
-
hasNextPage: boolean;
|
|
31
|
-
/** Has previous page */
|
|
32
|
-
hasPrevPage: boolean;
|
|
33
|
-
/** Sort field */
|
|
34
|
-
sortBy: string | null;
|
|
35
|
-
/** Sort direction */
|
|
36
|
-
sortDirection: 'asc' | 'desc' | null;
|
|
37
|
-
/** Active filters */
|
|
38
|
-
filters: Record<string, any>;
|
|
39
|
-
/** Toggle row selection */
|
|
40
|
-
toggleRowSelection: (rowId: string) => void;
|
|
41
|
-
/** Toggle all rows selection */
|
|
42
|
-
toggleAllSelection: () => void;
|
|
43
|
-
/** Clear selection */
|
|
44
|
-
clearSelection: () => void;
|
|
45
|
-
/** Set sort */
|
|
46
|
-
setSort: (field: string, direction: 'asc' | 'desc') => void;
|
|
47
|
-
/** Toggle sort */
|
|
48
|
-
toggleSort: (field: string) => void;
|
|
49
|
-
/** Set filter */
|
|
50
|
-
setFilter: (field: string, value: any) => void;
|
|
51
|
-
/** Clear filter */
|
|
52
|
-
clearFilter: (field: string) => void;
|
|
53
|
-
/** Clear all filters */
|
|
54
|
-
clearAllFilters: () => void;
|
|
55
|
-
/** Set page */
|
|
56
|
-
setPage: (page: number) => void;
|
|
57
|
-
/** Set page size */
|
|
58
|
-
setPageSize: (size: number) => void;
|
|
59
|
-
/** Next page */
|
|
60
|
-
nextPage: () => void;
|
|
61
|
-
/** Previous page */
|
|
62
|
-
prevPage: () => void;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* React hook that wraps TableBuilder for table state management
|
|
66
|
-
*
|
|
67
|
-
* @param options - Hook options including config and data
|
|
68
|
-
* @returns Table state and control methods
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```tsx
|
|
72
|
-
* const config: TableBuilderConfig<User> = {
|
|
73
|
-
* columns: [
|
|
74
|
-
* { field: 'name', header: 'Name', sortable: true }
|
|
75
|
-
* ]
|
|
76
|
-
* };
|
|
77
|
-
*
|
|
78
|
-
* function MyTable({ data }: { data: User[] }) {
|
|
79
|
-
* const table = useTableService({ config, data });
|
|
80
|
-
* return (
|
|
81
|
-
* <table>
|
|
82
|
-
* <tbody>
|
|
83
|
-
* {table.rows.map(row => (
|
|
84
|
-
* <tr key={row.id}><td>{row.name}</td></tr>
|
|
85
|
-
* ))}
|
|
86
|
-
* </tbody>
|
|
87
|
-
* </table>
|
|
88
|
-
* );
|
|
89
|
-
* }
|
|
90
|
-
* ```
|
|
91
|
-
*/
|
|
92
|
-
export declare function useTableService<T extends Record<string, any>>(options: UseTableServiceOptions<T>): UseTableServiceReturn<T>;
|
|
93
|
-
//# sourceMappingURL=useTableService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTableService.d.ts","sourceRoot":"","sources":["../src/useTableService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAG/E;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACnE,iCAAiC;IACjC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;IAE7B,iBAAiB;IACjB,IAAI,EAAE,CAAC,EAAE,CAAA;CACV;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAClE,uCAAuC;IACvC,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,uBAAuB;IACvB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,6BAA6B;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,wBAAwB;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,iBAAiB;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,qBAAqB;IACrB,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;IACpC,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,2BAA2B;IAC3B,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,sBAAsB;IACtB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,eAAe;IACf,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAA;IAC3D,kBAAkB;IAClB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,iBAAiB;IACjB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAC9C,mBAAmB;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,wBAAwB;IACxB,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,eAAe;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,oBAAoB;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,qBAAqB,CAAC,CAAC,CAAC,CA+G1B"}
|