@codella-software/react 2.0.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/dist/index.cjs +2121 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.mjs +2121 -0
- package/dist/index.mjs.map +1 -0
- package/dist/react/src/filters-and-sort/index.d.ts +2 -0
- package/dist/react/src/filters-and-sort/index.d.ts.map +1 -0
- package/dist/react/src/filters-and-sort/useFiltersAndSort.d.ts +67 -0
- package/dist/react/src/filters-and-sort/useFiltersAndSort.d.ts.map +1 -0
- package/dist/react/src/form-builder/index.d.ts +2 -0
- package/dist/react/src/form-builder/index.d.ts.map +1 -0
- package/dist/react/src/form-builder/useFormBuilder.d.ts +70 -0
- package/dist/react/src/form-builder/useFormBuilder.d.ts.map +1 -0
- package/dist/react/src/index.d.ts +46 -0
- package/dist/react/src/index.d.ts.map +1 -0
- package/dist/react/src/live-updates/LiveUpdateProvider.d.ts +52 -0
- package/dist/react/src/live-updates/LiveUpdateProvider.d.ts.map +1 -0
- package/dist/react/src/live-updates/index.d.ts +11 -0
- package/dist/react/src/live-updates/index.d.ts.map +1 -0
- package/dist/react/src/live-updates/useLiveListener.d.ts +12 -0
- package/dist/react/src/live-updates/useLiveListener.d.ts.map +1 -0
- package/dist/react/src/live-updates/useLiveRequest.d.ts +12 -0
- package/dist/react/src/live-updates/useLiveRequest.d.ts.map +1 -0
- package/dist/react/src/live-updates/useLiveUpdateListener.d.ts +14 -0
- package/dist/react/src/live-updates/useLiveUpdateListener.d.ts.map +1 -0
- package/dist/react/src/live-updates/useLiveUpdates.d.ts +10 -0
- package/dist/react/src/live-updates/useLiveUpdates.d.ts.map +1 -0
- package/dist/react/src/table-builder/index.d.ts +2 -0
- package/dist/react/src/table-builder/index.d.ts.map +1 -0
- package/dist/react/src/table-builder/useTableService.d.ts +93 -0
- package/dist/react/src/table-builder/useTableService.d.ts.map +1 -0
- package/dist/react/src/tabs/ResponsiveTabs.d.ts +50 -0
- package/dist/react/src/tabs/ResponsiveTabs.d.ts.map +1 -0
- package/dist/react/src/tabs/index.d.ts +40 -0
- package/dist/react/src/tabs/index.d.ts.map +1 -0
- package/dist/react/src/tabs/useTabsHooks.d.ts +49 -0
- package/dist/react/src/tabs/useTabsHooks.d.ts.map +1 -0
- package/dist/react/src/useFiltersAndSort.d.ts +67 -0
- package/dist/react/src/useFiltersAndSort.d.ts.map +1 -0
- package/dist/react/src/useFormBuilder.d.ts +70 -0
- package/dist/react/src/useFormBuilder.d.ts.map +1 -0
- package/dist/react/src/useTableService.d.ts +93 -0
- package/dist/react/src/useTableService.d.ts.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { WS_ACTIONS } from '../../../core/src/live-updates';
|
|
2
|
+
export interface UseUpdateListenerOptions {
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Hook to listen for and handle live updates with callback
|
|
7
|
+
* @param action - The WS_ACTIONS enum value to listen for
|
|
8
|
+
* @param onUpdate - Callback when update is received
|
|
9
|
+
* @param enabled - Whether to subscribe (defaults to true)
|
|
10
|
+
*/
|
|
11
|
+
export declare const useLiveUpdateListener: <T = unknown>(action: WS_ACTIONS, onUpdate: (data: T) => void, { enabled }?: UseUpdateListenerOptions) => {
|
|
12
|
+
subscribe: () => () => void;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useLiveUpdateListener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLiveUpdateListener.d.ts","sourceRoot":"","sources":["../../../../src/live-updates/useLiveUpdateListener.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,GAAG,OAAO,EAC/C,QAAQ,UAAU,EAClB,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAC3B,cAAoB,wBAA6B;;CA2BlD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to subscribe to live update events
|
|
3
|
+
* @param eventName - The event name (must be mapped in LiveUpdateProvider.eventMappings)
|
|
4
|
+
* @returns The latest event data or null
|
|
5
|
+
*/
|
|
6
|
+
export declare const useLiveUpdates: <T = unknown>(eventName: string) => {
|
|
7
|
+
data: T | null;
|
|
8
|
+
error: Error | null;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useLiveUpdates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLiveUpdates.d.ts","sourceRoot":"","sources":["../../../../src/live-updates/useLiveUpdates.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,GAAG,OAAO,EAAE,WAAW,MAAM;;;CAsB5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table-builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { TableBuilderConfig } from '../../../core/src/index.ts';
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableService.d.ts","sourceRoot":"","sources":["../../../../src/table-builder/useTableService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAGrE;;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,CA2G1B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { TabItem } from '../../../core/src/tabs';
|
|
2
|
+
/**
|
|
3
|
+
* Props for TabsComponent
|
|
4
|
+
*/
|
|
5
|
+
export interface TabsComponentProps {
|
|
6
|
+
className?: string;
|
|
7
|
+
tabClassName?: string;
|
|
8
|
+
activeTabClassName?: string;
|
|
9
|
+
selectClassName?: string;
|
|
10
|
+
breakpoint?: number;
|
|
11
|
+
showBadges?: boolean;
|
|
12
|
+
icon?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Responsive Tabs component that switches to Select on smaller screens
|
|
16
|
+
*
|
|
17
|
+
* Features:
|
|
18
|
+
* - Tabs on desktop (> breakpoint)
|
|
19
|
+
* - Select dropdown on mobile (< breakpoint)
|
|
20
|
+
* - Badge support
|
|
21
|
+
* - Icon support
|
|
22
|
+
* - Fully customizable with className props
|
|
23
|
+
*/
|
|
24
|
+
export declare function ResponsiveTabs({ className, tabClassName, activeTabClassName, selectClassName, breakpoint, showBadges, icon, }: TabsComponentProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
/**
|
|
26
|
+
* Tabs List component (desktop view)
|
|
27
|
+
*/
|
|
28
|
+
interface TabsListProps {
|
|
29
|
+
tabs: TabItem[];
|
|
30
|
+
activeTabId: string;
|
|
31
|
+
onTabChange: (tabId: string) => void;
|
|
32
|
+
className?: string;
|
|
33
|
+
tabClassName?: string;
|
|
34
|
+
activeTabClassName?: string;
|
|
35
|
+
showBadges?: boolean;
|
|
36
|
+
icon?: boolean;
|
|
37
|
+
}
|
|
38
|
+
declare function TabsList({ tabs, activeTabId, onTabChange, className, tabClassName, activeTabClassName, showBadges, icon, }: TabsListProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
/**
|
|
40
|
+
* Tabs Select component (mobile view)
|
|
41
|
+
*/
|
|
42
|
+
interface TabsSelectProps {
|
|
43
|
+
tabs: TabItem[];
|
|
44
|
+
activeTabId: string;
|
|
45
|
+
onTabChange: (tabId: string) => void;
|
|
46
|
+
className?: string;
|
|
47
|
+
}
|
|
48
|
+
declare function TabsSelect({ tabs, activeTabId, onTabChange, className, }: TabsSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
export { TabsList, TabsSelect };
|
|
50
|
+
//# sourceMappingURL=ResponsiveTabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponsiveTabs.d.ts","sourceRoot":"","sources":["../../../../src/tabs/ResponsiveTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAc,EACd,YAAiB,EACjB,kBAAuB,EACvB,eAAoB,EACpB,UAAgB,EAChB,UAAiB,EACjB,IAAW,GACZ,EAAE,kBAAkB,kDA2CpB;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,iBAAS,QAAQ,CAAC,EAChB,IAAI,EACJ,WAAW,EACX,WAAW,EACX,SAAc,EACd,YAAiB,EACjB,kBAAuB,EACvB,UAAiB,EACjB,IAAW,GACZ,EAAE,aAAa,2CAoCf;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,UAAU,CAAC,EAClB,IAAI,EACJ,WAAW,EACX,WAAW,EACX,SAAc,GACf,EAAE,eAAe,2CAuBjB;AAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module @codella/react/tabs
|
|
3
|
+
*
|
|
4
|
+
* React hooks and components for tabs service.
|
|
5
|
+
*
|
|
6
|
+
* ## Features
|
|
7
|
+
*
|
|
8
|
+
* - TabsProvider for state management
|
|
9
|
+
* - Hooks for accessing tabs service
|
|
10
|
+
* - Responsive Tabs component (desktop/mobile)
|
|
11
|
+
* - Auto-switching between tabs and select
|
|
12
|
+
*
|
|
13
|
+
* ## Usage
|
|
14
|
+
*
|
|
15
|
+
* ```tsx
|
|
16
|
+
* import { TabsProvider, ResponsiveTabs, useSetActiveTab } from '@codella/react/tabs';
|
|
17
|
+
*
|
|
18
|
+
* function MyApp() {
|
|
19
|
+
* return (
|
|
20
|
+
* <TabsProvider config={{
|
|
21
|
+
* tabs: [
|
|
22
|
+
* { id: 'overview', label: 'Overview' },
|
|
23
|
+
* { id: 'details', label: 'Details' }
|
|
24
|
+
* ],
|
|
25
|
+
* enableUrlRouting: true
|
|
26
|
+
* }}>
|
|
27
|
+
* <ResponsiveTabs />
|
|
28
|
+
* <MyTabContent />
|
|
29
|
+
* </TabsProvider>
|
|
30
|
+
* );
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @packageDocumentation
|
|
35
|
+
*/
|
|
36
|
+
export { TabsProvider, useActiveTab, useSetActiveTab, useTabChange, useTabs, useTabsContext, useTabsService } from './useTabsHooks';
|
|
37
|
+
export type { TabsProviderProps } from './useTabsHooks';
|
|
38
|
+
export { ResponsiveTabs, TabsList, TabsSelect } from './ResponsiveTabs';
|
|
39
|
+
export type { TabsComponentProps } from './ResponsiveTabs';
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tabs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpI,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { TabChangeEvent, TabsConfig, TabsService } from '../../../core/src/tabs';
|
|
2
|
+
import { default as React } from 'react';
|
|
3
|
+
interface TabsContextValue {
|
|
4
|
+
service: TabsService;
|
|
5
|
+
activeTabId: string;
|
|
6
|
+
tabs: ReturnType<TabsService['getTabs']>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Props for TabsProvider
|
|
10
|
+
*/
|
|
11
|
+
export interface TabsProviderProps {
|
|
12
|
+
config: TabsConfig;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Tabs provider for React
|
|
17
|
+
*/
|
|
18
|
+
export declare function TabsProvider({ config, children }: TabsProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
/**
|
|
20
|
+
* Hook to access tabs service from context
|
|
21
|
+
*/
|
|
22
|
+
export declare function useTabsContext(): TabsContextValue;
|
|
23
|
+
/**
|
|
24
|
+
* Hook to use tabs service directly
|
|
25
|
+
*/
|
|
26
|
+
export declare function useTabsService(): TabsService;
|
|
27
|
+
/**
|
|
28
|
+
* Hook to get active tab
|
|
29
|
+
*/
|
|
30
|
+
export declare function useActiveTab(): import('../../../core/src/index.ts').TabItem | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Hook to get all tabs
|
|
33
|
+
*/
|
|
34
|
+
export declare function useTabs(): import('../../../core/src/index.ts').TabItem[];
|
|
35
|
+
/**
|
|
36
|
+
* Hook to listen to tab changes
|
|
37
|
+
*/
|
|
38
|
+
export declare function useTabChange(): TabChangeEvent | null;
|
|
39
|
+
/**
|
|
40
|
+
* Hook to set active tab
|
|
41
|
+
*/
|
|
42
|
+
export declare function useSetActiveTab(): {
|
|
43
|
+
setActiveTab: (tabId: string) => void;
|
|
44
|
+
setActiveTabByIndex: (index: number) => void;
|
|
45
|
+
nextTab: () => void;
|
|
46
|
+
previousTab: () => void;
|
|
47
|
+
};
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=useTabsHooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabsHooks.d.ts","sourceRoot":"","sources":["../../../../src/tabs/useTabsHooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,UAAU,gBAAgB;IACxB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;CAC1C;AAID;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CA0BnE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,gBAAgB,CAMjD;AAED;;GAEG;AACH,wBAAgB,cAAc,gBAG7B;AAED;;GAEG;AACH,wBAAgB,YAAY,gDAU3B;AAED;;GAEG;AACH,wBAAgB,OAAO,sCAGtB;AAED;;GAEG;AACH,wBAAgB,YAAY,0BAU3B;AAED;;GAEG;AACH,wBAAgB,eAAe;0BAGL,MAAM;iCACC,MAAM;;;EAItC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { FiltersAndSortService } from '../../core/src/index.ts';
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFiltersAndSort.d.ts","sourceRoot":"","sources":["../../../src/useFiltersAndSort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAA2B,MAAM,eAAe,CAAA;AAG9E;;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,CA+DzB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { FormBuilder } from '../../core/src/index.ts';
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormBuilder.d.ts","sourceRoot":"","sources":["../../../src/useFormBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C;;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,CA4DzB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { TableBuilderConfig } from '../../core/src/index.ts';
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableService.d.ts","sourceRoot":"","sources":["../../../src/useTableService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAGrE;;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,CA2G1B"}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@codella-software/react",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "React hooks for Codella core services",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"form-builder",
|
|
7
|
+
"table-builder",
|
|
8
|
+
"filters",
|
|
9
|
+
"react",
|
|
10
|
+
"hooks",
|
|
11
|
+
"typescript"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/CodellaSoftware/codella-utils#readme",
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/CodellaSoftware/codella-utils.git",
|
|
17
|
+
"directory": "packages/react"
|
|
18
|
+
},
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"type": "module",
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"import": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"default": "./dist/index.js"
|
|
26
|
+
},
|
|
27
|
+
"require": {
|
|
28
|
+
"types": "./dist/index.d.cts",
|
|
29
|
+
"default": "./dist/index.cjs"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"main": "./dist/index.cjs",
|
|
34
|
+
"types": "./dist/index.d.ts",
|
|
35
|
+
"files": [
|
|
36
|
+
"dist"
|
|
37
|
+
],
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "vite build && tsc --emitDeclarationOnly",
|
|
40
|
+
"dev": "vite build --watch",
|
|
41
|
+
"test": "vitest",
|
|
42
|
+
"test:run": "vitest run",
|
|
43
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
44
|
+
"typecheck": "tsc --noEmit"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@codella/core": "file:../core"
|
|
48
|
+
},
|
|
49
|
+
"peerDependencies": {
|
|
50
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
51
|
+
"rxjs": "^7.0.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@testing-library/jest-dom": "^6.4.0",
|
|
55
|
+
"@types/node": "^22.0.0",
|
|
56
|
+
"@types/react": "^18.3.0",
|
|
57
|
+
"@vitejs/plugin-react": "^4.3.0",
|
|
58
|
+
"clsx": "^2.1.0",
|
|
59
|
+
"date-fns": "^3.0.0",
|
|
60
|
+
"happy-dom": "^15.11.0",
|
|
61
|
+
"react": "^18.3.0",
|
|
62
|
+
"react-day-picker": "^8.10.0",
|
|
63
|
+
"rxjs": "^7.8.0",
|
|
64
|
+
"tailwind-merge": "^2.5.0",
|
|
65
|
+
"typescript": "^5.6.0",
|
|
66
|
+
"vite": "^6.0.0",
|
|
67
|
+
"vite-plugin-dts": "^4.3.0",
|
|
68
|
+
"vitest": "^3.0.0"
|
|
69
|
+
},
|
|
70
|
+
"module": "./dist/index.js",
|
|
71
|
+
"sideEffects": false
|
|
72
|
+
}
|