next-data-kit 7.3.0 → 7.4.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/client/components/data-kit-table.d.ts +1 -0
- package/dist/client/components/data-kit-table.d.ts.map +1 -1
- package/dist/client/components/data-kit-table.js +12 -4
- package/dist/client/components/data-kit-table.js.map +1 -1
- package/dist/client/components/data-kit.d.ts +1 -0
- package/dist/client/components/data-kit.d.ts.map +1 -1
- package/dist/client/components/data-kit.js +11 -3
- package/dist/client/components/data-kit.js.map +1 -1
- package/dist/index.cjs +213 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +213 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,6 +21,7 @@ export declare const DataKitTable: (<TAction extends (input: TDataKitInput<unkno
|
|
|
21
21
|
bordered?: boolean | "rounded";
|
|
22
22
|
refetchInterval?: number;
|
|
23
23
|
state?: TDataKitStateMode;
|
|
24
|
+
pagination?: "SIMPLE" | "NUMBER";
|
|
24
25
|
controller?: React.MutableRefObject<TDataKitController<TExtractDataKitItemType<TAction>> | null>;
|
|
25
26
|
}>) => import("react/jsx-runtime").JSX.Element) & {
|
|
26
27
|
Cell: typeof TableCell;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-kit-table.d.ts","sourceRoot":"","sources":["../../../src/client/components/data-kit-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,
|
|
1
|
+
{"version":3,"file":"data-kit-table.d.ts","sourceRoot":"","sources":["../../../src/client/components/data-kit-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAyBF,SAAS,EACT,SAAS,EAGb,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACP,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACjB,MAAM,aAAa,CAAC;AA0brB,eAAO,MAAM,YAAY,IAtbpB,OAAO,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAC/E,SAAS,mBACL,QAAQ,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,uBAAuB,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;IAC9E,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACnF,CAAC;IACF,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CACrG,CAAC;;;CAmaA,CAAC"}
|
|
@@ -5,10 +5,10 @@ import { ArrowDown, ArrowUp, ChevronLeft, ChevronRight, Filter, Loader2, MoreHor
|
|
|
5
5
|
import { useDataKit } from '../hooks/useDataKit';
|
|
6
6
|
import { useSelectionWithTotal } from '../hooks/useSelection';
|
|
7
7
|
import { usePagination } from '../hooks/usePagination';
|
|
8
|
-
import { Button, Checkbox, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Switch, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from './ui';
|
|
8
|
+
import { Button, Checkbox, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Switch, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from './ui';
|
|
9
9
|
const DataKitRoot = (props) => {
|
|
10
10
|
// ** Deconstruct Props
|
|
11
|
-
const { action, query, filterConfig, table: columns, filters = [], selectable, initialState, limit: limitConfig, className, autoFetch = true, debounce = 300, bordered, refetchInterval, state: stateMode = 'memory', controller, } = props;
|
|
11
|
+
const { action, query, filterConfig, table: columns, filters = [], selectable, initialState, limit: limitConfig, className, autoFetch = true, debounce = 300, bordered, refetchInterval, state: stateMode = 'memory', pagination: paginationType = 'NUMBER', controller, } = props;
|
|
12
12
|
// ** Ref
|
|
13
13
|
const tableRef = useRef(null);
|
|
14
14
|
const intervalRef = useRef(null);
|
|
@@ -47,6 +47,14 @@ const DataKitRoot = (props) => {
|
|
|
47
47
|
// ** Variable
|
|
48
48
|
const selectedCount = selection.selectedIds.size;
|
|
49
49
|
const colSpan = columns.length + (selectable?.enabled ? 1 : 0);
|
|
50
|
+
const limitOptions = React.useMemo(() => {
|
|
51
|
+
const standardOptions = [10, 25, 50, 100];
|
|
52
|
+
const currentLimit = dataKit.limit;
|
|
53
|
+
if (!standardOptions.includes(currentLimit)) {
|
|
54
|
+
return [...standardOptions, currentLimit].sort((a, b) => a - b);
|
|
55
|
+
}
|
|
56
|
+
return standardOptions;
|
|
57
|
+
}, [dataKit.limit]);
|
|
50
58
|
// ** Handlers
|
|
51
59
|
const handleSort = useCallback((path) => {
|
|
52
60
|
const currentSort = dataKit.sorts.find((s) => s.path === path);
|
|
@@ -115,14 +123,14 @@ const DataKitRoot = (props) => {
|
|
|
115
123
|
}, [refetchInterval, isVisible, dataKit.actions]);
|
|
116
124
|
useEffect(() => { selection.deselectAll(); }, [dataKit.items.length]);
|
|
117
125
|
// ** Render
|
|
118
|
-
return (_jsxs("div", { ref: tableRef, className: `space-y-3 ${className ?? ''}`, children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "flex items-center gap-2", children: filters.length > 0 && (_jsxs(Popover, { open: isFilterOpen, onOpenChange: setIsFilterOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", children: [_jsx(Filter, { className: "mr-1.5 size-4" }), "Filters"] }) }), _jsxs(PopoverContent, { align: "start", className: "w-80", container: overlayContainer, children: [_jsx("div", { className: "grid gap-3", children: filters.map((f) => (_jsxs("div", { className: "grid gap-1.5", children: [_jsx("label", { className: "text-sm font-medium", children: f.label }), f.type === 'TEXT' && (_jsx("input", { type: "text", className: "h-9 w-full rounded-md border bg-transparent px-3 text-sm outline-none focus:ring-2 focus:ring-ring", placeholder: f.placeholder, value: dataKit.filter[f.id] ?? '', onChange: (e) => dataKit.actions.setFilter(f.id, e.target.value) })), f.type === 'SELECT' && (_jsxs(Select, { value: String(dataKit.filter[f.id] || '__all__'), onValueChange: (v) => dataKit.actions.setFilter(f.id, v === '__all__' ? '' : v), children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { container: overlayContainer, children: [_jsx(SelectItem, { value: "__all__", children: "All" }), f.dataset?.map((d) => (_jsx(SelectItem, { value: d.id, children: d.label }, d.id)))] })] })), f.type === 'BOOLEAN' && (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm text-muted-foreground", children: f.placeholder ?? 'Enable' }), _jsx(Switch, { checked: Boolean(dataKit.filter[f.id]), onCheckedChange: (c) => dataKit.actions.setFilter(f.id, c) })] }))] }, f.id))) }), _jsxs("div", { className: "mt-4 flex justify-between border-t pt-3", children: [_jsx(Button, { variant: "outline", size: "sm", onClick: handleResetFilters, children: "Reset" }), _jsx(Button, { size: "sm", onClick: () => setIsFilterOpen(false), children: "Done" })] })] })] })) }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs("span", { className: "mr-2 text-sm text-muted-foreground", children: [dataKit.items.length, " of ", dataKit.total] }), _jsxs(Select, { value: String(dataKit.limit), onValueChange: (v) => dataKit.actions.setLimit(Number(v)), disabled: dataKit.state.isLoading, children: [_jsx(SelectTrigger, { className: "w-16", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { container: overlayContainer, children:
|
|
126
|
+
return (_jsxs("div", { ref: tableRef, className: `space-y-3 ${className ?? ''}`, children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "flex items-center gap-2", children: filters.length > 0 && (_jsxs(Popover, { open: isFilterOpen, onOpenChange: setIsFilterOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", children: [_jsx(Filter, { className: "mr-1.5 size-4" }), "Filters"] }) }), _jsxs(PopoverContent, { align: "start", className: "w-80", container: overlayContainer, children: [_jsx("div", { className: "grid gap-3", children: filters.map((f) => (_jsxs("div", { className: "grid gap-1.5", children: [_jsx("label", { className: "text-sm font-medium", children: f.label }), f.type === 'TEXT' && (_jsx("input", { type: "text", className: "h-9 w-full rounded-md border bg-transparent px-3 text-sm outline-none focus:ring-2 focus:ring-ring", placeholder: f.placeholder, value: dataKit.filter[f.id] ?? '', onChange: (e) => dataKit.actions.setFilter(f.id, e.target.value) })), f.type === 'SELECT' && (_jsxs(Select, { value: String(dataKit.filter[f.id] || '__all__'), onValueChange: (v) => dataKit.actions.setFilter(f.id, v === '__all__' ? '' : v), children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { container: overlayContainer, children: [_jsx(SelectItem, { value: "__all__", children: "All" }), f.dataset?.map((d) => (_jsx(SelectItem, { value: d.id, children: d.label }, d.id)))] })] })), f.type === 'BOOLEAN' && (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm text-muted-foreground", children: f.placeholder ?? 'Enable' }), _jsx(Switch, { checked: Boolean(dataKit.filter[f.id]), onCheckedChange: (c) => dataKit.actions.setFilter(f.id, c) })] }))] }, f.id))) }), _jsxs("div", { className: "mt-4 flex justify-between border-t pt-3", children: [_jsx(Button, { variant: "outline", size: "sm", onClick: handleResetFilters, children: "Reset" }), _jsx(Button, { size: "sm", onClick: () => setIsFilterOpen(false), children: "Done" })] })] })] })) }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs("span", { className: "mr-2 text-sm text-muted-foreground", children: [dataKit.items.length, " of ", dataKit.total] }), _jsxs(Select, { value: String(dataKit.limit), onValueChange: (v) => dataKit.actions.setLimit(Number(v)), disabled: dataKit.state.isLoading, children: [_jsx(SelectTrigger, { className: "w-16", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { container: overlayContainer, children: limitOptions.map((v) => (_jsx(SelectItem, { value: String(v), children: v }, v))) })] })] })] }), _jsx("div", { className: `overflow-hidden border border-gray-200 dark:border-gray-800 ${bordered === 'rounded' ? 'rounded-lg' : bordered ? '' : 'rounded-lg'}`, children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [selectable?.enabled && (_jsx(TableHead, { className: "w-12", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Checkbox, { checked: selection.isIndeterminate ? 'indeterminate' : selection.isAllSelected, onCheckedChange: () => selection.toggleAll() }), selectable.actions && Object.keys(selectable.actions).length > 0 && (_jsxs(DropdownMenu, { open: actionsMenuOpen, onOpenChange: setActionsMenuOpen, children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: "size-6", disabled: selectedCount === 0 || !!actionLoading, children: actionLoading ? _jsx(Loader2, { className: "size-4 animate-spin" }) : _jsx(MoreHorizontal, { className: "size-4" }) }) }), _jsx(DropdownMenuContent, { align: "start", container: overlayContainer, children: Object.entries(selectable.actions).map(([key, action]) => (_jsx(DropdownMenuItem, { disabled: !!actionLoading, onSelect: () => handleSelectionAction(key), children: actionLoading === key ? 'Working…' : action.name }, key))) })] }))] }) })), columns.map((col, idx) => (_jsx(React.Fragment, { children: col.sortable ? (_jsx(TableHead, { ...(React.isValidElement(col.head) ? col.head.props : {}), children: _jsxs(Button, { variant: "ghost", size: "sm", className: "-ml-3", onClick: () => handleSort(col.sortable.path), children: [React.isValidElement(col.head) ? col.head.props.children : col.head, getSortFor(col.sortable.path) === 1 && _jsx(ArrowUp, { className: "ml-1 size-4" }), getSortFor(col.sortable.path) === -1 && _jsx(ArrowDown, { className: "ml-1 size-4" })] }) })) : (col.head) }, idx)))] }) }), _jsx(TableBody, { children: dataKit.state.isLoading ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: colSpan, className: "h-24 text-center", children: _jsx(Loader2, { className: "mx-auto size-5 animate-spin" }) }) })) : dataKit.state.error ? (_jsx(TableRow, { children: _jsxs(TableCell, { colSpan: colSpan, className: "h-24 text-center text-red-500", children: ["Error: ", dataKit.state.error.message] }) })) : dataKit.items.length === 0 ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: colSpan, className: "h-24 text-center text-muted-foreground", children: "No results found." }) })) : (dataKit.items.map((item, idx) => (_jsxs(TableRow, { children: [selectable?.enabled && (_jsx(TableCell, { children: _jsx(Checkbox, { checked: selection.isSelected(item.id), onCheckedChange: () => selection.toggle(item.id) }) })), columns.map((col, colIdx) => (_jsx(React.Fragment, { children: col.body({
|
|
119
127
|
item,
|
|
120
128
|
index: idx,
|
|
121
129
|
state: initialState,
|
|
122
130
|
setState: () => { },
|
|
123
131
|
setItem: (updatedItem) => dataKit.actions.setItemAt(idx, updatedItem),
|
|
124
132
|
deleteItem: () => dataKit.actions.deleteItemAt(idx),
|
|
125
|
-
}) }, colIdx)))] }, item.id ?? idx)))) })] }) }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("p", { className: "text-sm text-muted-foreground", children: ["Page ", dataKit.page, " of ", pagination.totalPages, selectable?.enabled && selectedCount > 0 && (_jsxs("span", { className: "ml-2 text-foreground", children: ["(", selectedCount, " selected)"] }))] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "outline", size: "icon", disabled: !pagination.hasPrevPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page - 1), children: _jsx(ChevronLeft, { className: "size-4" }) }), _jsx(Button, { variant: "outline", size: "icon", disabled: !pagination.hasNextPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page + 1), children: _jsx(ChevronRight, { className: "size-4" }) })] })] })] }));
|
|
133
|
+
}) }, colIdx)))] }, item.id ?? idx)))) })] }) }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("p", { className: "text-sm text-muted-foreground", children: ["Page ", dataKit.page, " of ", pagination.totalPages, selectable?.enabled && selectedCount > 0 && (_jsxs("span", { className: "ml-2 text-foreground", children: ["(", selectedCount, " selected)"] }))] }), paginationType === 'SIMPLE' ? (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "outline", size: "icon", disabled: !pagination.hasPrevPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page - 1), children: _jsx(ChevronLeft, { className: "size-4" }) }), _jsx(Button, { variant: "outline", size: "icon", disabled: !pagination.hasNextPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page + 1), children: _jsx(ChevronRight, { className: "size-4" }) })] })) : (_jsx(Pagination, { className: "mx-0 w-auto", children: _jsxs(PaginationContent, { children: [_jsx(PaginationItem, { className: "hidden sm:block", children: _jsx(PaginationPrevious, { disabled: !pagination.hasPrevPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page - 1) }) }), _jsx(PaginationItem, { className: "sm:hidden", children: _jsx(PaginationLink, { disabled: !pagination.hasPrevPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page - 1), children: _jsx(ChevronLeft, { className: "size-4" }) }) }), pagination.pages.map((pageNum, idx) => (_jsx(PaginationItem, { className: "hidden sm:block", children: pageNum === 'ellipsis' ? (_jsx(PaginationEllipsis, {})) : (_jsx(PaginationLink, { isActive: pageNum === dataKit.page, disabled: dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(pageNum), children: pageNum })) }, idx))), _jsx(PaginationItem, { className: "sm:hidden", children: _jsx("span", { className: "flex size-9 items-center justify-center text-sm", children: dataKit.page }) }), _jsx(PaginationItem, { className: "hidden sm:block", children: _jsx(PaginationNext, { disabled: !pagination.hasNextPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page + 1) }) }), _jsx(PaginationItem, { className: "sm:hidden", children: _jsx(PaginationLink, { disabled: !pagination.hasNextPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page + 1), children: _jsx(ChevronRight, { className: "size-4" }) }) })] }) }))] })] }));
|
|
126
134
|
};
|
|
127
135
|
export const DataKitTable = Object.assign(DataKitRoot, {
|
|
128
136
|
Cell: TableCell,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-kit-table.js","sourceRoot":"","sources":["../../../src/client/components/data-kit-table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACF,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,MAAM,EACN,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,GACZ,MAAM,MAAM,CAAC;AAcd,MAAM,WAAW,GAAG,CAGlB,KAmBA,EAAE,EAAE;IACD,uBAAuB;IACvB,MAAM,EACD,MAAM,EACN,KAAK,EACL,YAAY,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,GAAG,EAAE,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,EAAE,WAAW,EAClB,SAAS,EACT,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,GAAG,EACd,QAAQ,EACR,eAAe,EACf,KAAK,EAAE,SAAS,GAAG,QAAQ,EAC3B,UAAU,GACd,GAAG,KAAK,CAAC;IAKV,SAAS;IACT,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAwC,IAAI,CAAC,CAAC;IAExE,WAAW;IACX,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9D,cAAc;IACd,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC;IAE1C,WAAW;IACX,MAAM,OAAO,GAAG,UAAU,CAAiB;QACtC,MAAM,EAAE,MAAsF;QAC9F,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE;YACJ,KAAK,EAAE,WAAW,EAAE,OAAO,IAAI,EAAE;YACjC,KAAK,EAAE,KAAK,IAAI,EAAE;YAClB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAoC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACjE,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;oBAC5C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAiB,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,OAAO,GAAG,CAAC;YAChB,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,EAAE,OAAO,CAAC,MAAM,CAA0B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACtD,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;oBAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;gBAC7D,OAAO,GAAG,CAAC;YAChB,CAAC,EAAE,EAAE,CAAC;SACV;KACL,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IACtH,MAAM,SAAS,GAAG,qBAAqB,CAAkB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/F,cAAc;IACd,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,cAAc;IACd,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAErC,MAAM,qBAAqB,GAAG,WAAW,CAAC,KAAK,EAAE,SAAiB,EAAE,EAAE;QACjE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,aAAa;YAAE,OAAO;QAC/D,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC;YACA,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC3E,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAA8B,CAAC;gBACpD,IAAI,IAAI,CAAC,WAAW;oBAAE,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC9C,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACN,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACN,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7H,aAAa;IACb,SAAS,CAAC,GAAG,EAAE;QACV,IAAI,UAAU,EAAE,CAAC;YACZ,UAAU,CAAC,OAAO,GAAG;gBAChB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;gBAClC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;gBACpC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;gBACtC,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrF,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE;aACjD,CAAC;QACP,CAAC;IACN,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACV,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,eAAe;YAAE,OAAO;QAClD,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACpC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAClE,EAAE,SAAS,EAAE,GAAG,EAAE,CACtB,CAAC;QACF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;QACpC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,GAAG,IAAI,UAAU;YAAE,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,SAAS,CAAC,GAAG,EAAE;QACV,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACrB,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,IAAI,eAAe,IAAI,SAAS,EAAE,CAAC;YAC9B,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,GAAG,EAAE,GAAG,IAAI,WAAW,CAAC,OAAO;YAAE,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtE,YAAY;IACZ,OAAO,CACF,eAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,SAAS,IAAI,EAAE,EAAE,aAExD,eAAK,SAAS,EAAC,yCAAyC,aACnD,cAAK,SAAS,EAAC,yBAAyB,YAClC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB,MAAC,OAAO,IAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,aACrD,KAAC,cAAc,IAAC,OAAO,kBAClB,MAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,aAC9B,KAAC,MAAM,IAAC,SAAS,EAAC,eAAe,GAAG,eAEhC,GACG,EACjB,MAAC,cAAc,IAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,gBAAgB,aACrE,cAAK,SAAS,EAAC,YAAY,YACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACf,eAAgB,SAAS,EAAC,cAAc,aACnC,gBAAO,SAAS,EAAC,qBAAqB,YAAE,CAAC,CAAC,KAAK,GAAS,EACvD,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CACjB,gBACK,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,oGAAoG,EAC9G,WAAW,EAAE,CAAC,CAAC,WAAW,EAC1B,KAAK,EAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAY,IAAI,EAAE,EAC7C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GACnE,CACN,EACA,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CACnB,MAAC,MAAM,IACF,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,EAChD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAE/E,KAAC,aAAa,cAAC,KAAC,WAAW,KAAG,GAAgB,EAC9C,MAAC,aAAa,IAAC,SAAS,EAAE,gBAAgB,aACrC,KAAC,UAAU,IAAC,KAAK,EAAC,SAAS,oBAAiB,EAC3C,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClB,KAAC,UAAU,IAAY,KAAK,EAAE,CAAC,CAAC,EAAE,YAAG,CAAC,CAAC,KAAK,IAA3B,CAAC,CAAC,EAAE,CAAqC,CAC9D,CAAC,IACS,IACZ,CACb,EACA,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CACpB,eAAK,SAAS,EAAC,mCAAmC,aAC7C,eAAM,SAAS,EAAC,+BAA+B,YAAE,CAAC,CAAC,WAAW,IAAI,QAAQ,GAAQ,EAClF,KAAC,MAAM,IACF,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAC7D,IACD,CACV,KAjCI,CAAC,CAAC,EAAE,CAkCR,CACV,CAAC,GACD,EACN,eAAK,SAAS,EAAC,yCAAyC,aACnD,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,kBAAkB,sBAAgB,EAC/E,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,qBAAe,IACrE,IACM,IACZ,CACd,GACA,EAEN,eAAK,SAAS,EAAC,yBAAyB,aACnC,gBAAM,SAAS,EAAC,oCAAoC,aAC9C,OAAO,CAAC,KAAK,CAAC,MAAM,UAAM,OAAO,CAAC,KAAK,IACtC,EACP,MAAC,MAAM,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,aAC7H,KAAC,aAAa,IAAC,SAAS,EAAC,MAAM,YAAC,KAAC,WAAW,KAAG,GAAgB,EAC/D,KAAC,aAAa,IAAC,SAAS,EAAE,gBAAgB,YACpC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACzB,KAAC,UAAU,IAAS,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAG,CAAC,IAAvB,CAAC,CAAoC,CAC1D,CAAC,GACS,IACZ,IACR,IACL,EAGN,cAAK,SAAS,EAAE,+DAA+D,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,YAChJ,MAAC,KAAK,eACD,KAAC,WAAW,cACP,MAAC,QAAQ,eACH,UAAU,EAAE,OAAO,IAAI,CACnB,KAAC,SAAS,IAAC,SAAS,EAAC,MAAM,YACtB,eAAK,SAAS,EAAC,yBAAyB,aACnC,KAAC,QAAQ,IACJ,OAAO,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,EAC9E,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAC/C,EACD,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAChE,MAAC,YAAY,IAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,aAChE,KAAC,mBAAmB,IAAC,OAAO,kBACvB,KAAC,MAAM,IACF,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,QAAQ,EAClB,QAAQ,EAAE,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,YAE/C,aAAa,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC,KAAC,cAAc,IAAC,SAAS,EAAC,QAAQ,GAAG,GAChG,GACQ,EACtB,KAAC,mBAAmB,IAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAE,gBAAgB,YACxD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CACtD,KAAC,gBAAgB,IAAW,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAC3F,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAD/B,GAAG,CAEP,CACvB,CAAC,GACe,IACZ,CACnB,IACA,GACC,CAChB,EACA,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,KAAC,KAAK,CAAC,QAAQ,cACT,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CACX,KAAC,SAAS,OAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,KAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,YAC5E,MAAC,MAAM,IACF,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,OAAO,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAS,CAAC,IAAI,CAAC,aAE5C,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,IAA2D,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAC3H,UAAU,CAAC,GAAG,CAAC,QAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAC,OAAO,IAAC,SAAS,EAAC,aAAa,GAAG,EAC3E,UAAU,CAAC,GAAG,CAAC,QAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAC,SAAS,IAAC,SAAS,EAAC,aAAa,GAAG,IAC3E,GACF,CAChB,CAAC,CAAC,CAAC,CACC,GAAG,CAAC,IAAI,CACZ,IAhBe,GAAG,CAiBP,CACrB,CAAC,IACI,GACF,EACd,KAAC,SAAS,cACJ,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACtB,KAAC,QAAQ,cACJ,KAAC,SAAS,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,kBAAkB,YACpD,KAAC,OAAO,IAAC,SAAS,EAAC,6BAA6B,GAAG,GAC5C,GACN,CACf,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACrB,KAAC,QAAQ,cACJ,MAAC,SAAS,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,+BAA+B,wBACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAC5B,GACN,CACf,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC5B,KAAC,QAAQ,cACJ,KAAC,SAAS,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,wCAAwC,kCAEnE,GACN,CACf,CAAC,CAAC,CAAC,CACC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5B,MAAC,QAAQ,eACH,UAAU,EAAE,OAAO,IAAI,CACnB,KAAC,SAAS,cACL,KAAC,QAAQ,IACJ,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EACtC,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GACnD,GACK,CAChB,EACA,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CACzB,KAAC,KAAK,CAAC,QAAQ,cACT,GAAG,CAAC,IAAI,CAAC;4CACL,IAAI;4CACJ,KAAK,EAAE,GAAG;4CACV,KAAK,EAAE,YAAyB;4CAChC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;4CACnB,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC;4CACrE,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;yCACvD,CAAC,IARc,MAAM,CASV,CACrB,CAAC,KApBQ,IAAI,CAAC,EAAE,IAAI,GAAG,CAqBlB,CACf,CAAC,CACN,GACM,IACT,GACP,EAGN,eAAK,SAAS,EAAC,mCAAmC,aAC7C,aAAG,SAAS,EAAC,+BAA+B,sBACjC,OAAO,CAAC,IAAI,UAAM,UAAU,CAAC,UAAU,EAC5C,UAAU,EAAE,OAAO,IAAI,aAAa,GAAG,CAAC,IAAI,CACxC,gBAAM,SAAS,EAAC,sBAAsB,kBAAG,aAAa,kBAAkB,CAC5E,IACF,EACJ,eAAK,SAAS,EAAC,yBAAyB,aACnC,KAAC,MAAM,IACF,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,YAExD,KAAC,WAAW,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC9B,EACT,KAAC,MAAM,IACF,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,EAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,YAExD,KAAC,YAAY,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC/B,IACR,IACL,IACL,CACV,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;IAClD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACnB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"data-kit-table.js","sourceRoot":"","sources":["../../../src/client/components/data-kit-table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export declare const DataKit: <TAction extends (input: TDataKitInput<unknown>) =
|
|
|
18
18
|
refetchInterval?: number;
|
|
19
19
|
state?: TDataKitStateMode;
|
|
20
20
|
manual?: boolean;
|
|
21
|
+
pagination?: "SIMPLE" | "NUMBER";
|
|
21
22
|
children: (dataKit: TUseDataKitReturn<unknown, TExtractDataKitItemType<TAction>>) => React.ReactNode;
|
|
22
23
|
ref?: React.Ref<TDataKitRef<unknown, TExtractDataKitItemType<TAction>>>;
|
|
23
24
|
}>) => React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-kit.d.ts","sourceRoot":"","sources":["../../../src/client/components/data-kit.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"data-kit.d.ts","sourceRoot":"","sources":["../../../src/client/components/data-kit.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAuBxE,OAAO,KAAK,EACP,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACf,MAAM,aAAa,CAAC;AAqSrB,eAAO,MAAM,OAAO,EAAgD,CAC/D,OAAO,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAElG,KAAK,EAAE,QAAQ,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;KAAE,EAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACrG,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC5E,CAAC,KACF,KAAK,CAAC,YAAY,CAAC"}
|
|
@@ -4,10 +4,10 @@ import React, { useState, useEffect, useRef, useCallback } from 'react';
|
|
|
4
4
|
import { ChevronLeft, ChevronRight, Filter, Loader2 } from 'lucide-react';
|
|
5
5
|
import { useDataKit } from '../hooks/useDataKit';
|
|
6
6
|
import { usePagination } from '../hooks/usePagination';
|
|
7
|
-
import { Button, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Switch, } from './ui';
|
|
7
|
+
import { Button, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Switch, } from './ui';
|
|
8
8
|
const DataKitInner = (props, ref) => {
|
|
9
9
|
// ** Deconstruct Props
|
|
10
|
-
const { action, query, filterConfig, filters = [], limit: limitConfig, defaultSort = [], className, autoFetch = true, debounce = 300, refetchInterval, state: stateMode = 'memory', manual = false, children, } = props;
|
|
10
|
+
const { action, query, filterConfig, filters = [], limit: limitConfig, defaultSort = [], className, autoFetch = true, debounce = 300, refetchInterval, state: stateMode = 'memory', manual = false, pagination: paginationType = 'NUMBER', children, } = props;
|
|
11
11
|
// ** Ref
|
|
12
12
|
const containerRef = useRef(null);
|
|
13
13
|
const intervalRef = useRef(null);
|
|
@@ -35,6 +35,14 @@ const DataKitInner = (props, ref) => {
|
|
|
35
35
|
},
|
|
36
36
|
});
|
|
37
37
|
const pagination = usePagination({ page: dataKit.page, limit: dataKit.limit, total: dataKit.total, siblingCount: 1 });
|
|
38
|
+
const limitOptions = React.useMemo(() => {
|
|
39
|
+
const standardOptions = [10, 25, 50, 100];
|
|
40
|
+
const currentLimit = dataKit.limit;
|
|
41
|
+
if (!standardOptions.includes(currentLimit)) {
|
|
42
|
+
return [...standardOptions, currentLimit].sort((a, b) => a - b);
|
|
43
|
+
}
|
|
44
|
+
return standardOptions;
|
|
45
|
+
}, [dataKit.limit]);
|
|
38
46
|
// ** Imperative Handle
|
|
39
47
|
React.useImperativeHandle(ref, () => dataKit, [dataKit]);
|
|
40
48
|
// ** Handlers
|
|
@@ -65,7 +73,7 @@ const DataKitInner = (props, ref) => {
|
|
|
65
73
|
clearInterval(intervalRef.current); };
|
|
66
74
|
}, [refetchInterval, isVisible, dataKit.actions]);
|
|
67
75
|
// ** Render
|
|
68
|
-
return (_jsxs("div", { ref: containerRef, className: `space-y-3 ${className ?? ''}`, children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "flex items-center gap-2", children: filters.length > 0 && (_jsxs(Popover, { open: isFilterOpen, onOpenChange: setIsFilterOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", children: [_jsx(Filter, { className: "mr-1.5 size-4" }), "Filters"] }) }), _jsxs(PopoverContent, { align: "start", className: "w-80", container: overlayContainer, children: [_jsx("div", { className: "grid gap-3", children: filters.map((f) => (_jsxs("div", { className: "grid gap-1.5", children: [_jsx("label", { className: "text-sm font-medium", children: f.label }), f.type === 'TEXT' && (_jsx("input", { type: "text", className: "h-9 w-full rounded-md border bg-transparent px-3 text-sm outline-none focus:ring-2 focus:ring-ring", placeholder: f.placeholder, value: dataKit.filter[f.id] ?? '', onChange: (e) => dataKit.actions.setFilter(f.id, e.target.value) })), f.type === 'SELECT' && (_jsxs(Select, { value: String(dataKit.filter[f.id] || '__all__'), onValueChange: (v) => dataKit.actions.setFilter(f.id, v === '__all__' ? '' : v), children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { container: overlayContainer, children: [_jsx(SelectItem, { value: "__all__", children: "All" }), f.dataset?.map((d) => (_jsx(SelectItem, { value: d.id, children: d.label }, d.id)))] })] })), f.type === 'BOOLEAN' && (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm text-muted-foreground", children: f.placeholder ?? 'Enable' }), _jsx(Switch, { checked: Boolean(dataKit.filter[f.id]), onCheckedChange: (c) => dataKit.actions.setFilter(f.id, c) })] }))] }, f.id))) }), _jsxs("div", { className: "mt-4 flex justify-between border-t pt-3", children: [_jsx(Button, { variant: "outline", size: "sm", onClick: handleResetFilters, children: "Reset" }), _jsx(Button, { size: "sm", onClick: () => setIsFilterOpen(false), children: "Done" })] })] })] })) }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs("span", { className: "mr-2 text-sm text-muted-foreground", children: [dataKit.items.length, " of ", dataKit.total] }), _jsxs(Select, { value: String(dataKit.limit), onValueChange: (v) => dataKit.actions.setLimit(Number(v)), disabled: dataKit.state.isLoading, children: [_jsx(SelectTrigger, { className: "w-16", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { container: overlayContainer, children:
|
|
76
|
+
return (_jsxs("div", { ref: containerRef, className: `space-y-3 ${className ?? ''}`, children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "flex items-center gap-2", children: filters.length > 0 && (_jsxs(Popover, { open: isFilterOpen, onOpenChange: setIsFilterOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", children: [_jsx(Filter, { className: "mr-1.5 size-4" }), "Filters"] }) }), _jsxs(PopoverContent, { align: "start", className: "w-80", container: overlayContainer, children: [_jsx("div", { className: "grid gap-3", children: filters.map((f) => (_jsxs("div", { className: "grid gap-1.5", children: [_jsx("label", { className: "text-sm font-medium", children: f.label }), f.type === 'TEXT' && (_jsx("input", { type: "text", className: "h-9 w-full rounded-md border bg-transparent px-3 text-sm outline-none focus:ring-2 focus:ring-ring", placeholder: f.placeholder, value: dataKit.filter[f.id] ?? '', onChange: (e) => dataKit.actions.setFilter(f.id, e.target.value) })), f.type === 'SELECT' && (_jsxs(Select, { value: String(dataKit.filter[f.id] || '__all__'), onValueChange: (v) => dataKit.actions.setFilter(f.id, v === '__all__' ? '' : v), children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { container: overlayContainer, children: [_jsx(SelectItem, { value: "__all__", children: "All" }), f.dataset?.map((d) => (_jsx(SelectItem, { value: d.id, children: d.label }, d.id)))] })] })), f.type === 'BOOLEAN' && (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm text-muted-foreground", children: f.placeholder ?? 'Enable' }), _jsx(Switch, { checked: Boolean(dataKit.filter[f.id]), onCheckedChange: (c) => dataKit.actions.setFilter(f.id, c) })] }))] }, f.id))) }), _jsxs("div", { className: "mt-4 flex justify-between border-t pt-3", children: [_jsx(Button, { variant: "outline", size: "sm", onClick: handleResetFilters, children: "Reset" }), _jsx(Button, { size: "sm", onClick: () => setIsFilterOpen(false), children: "Done" })] })] })] })) }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs("span", { className: "mr-2 text-sm text-muted-foreground", children: [dataKit.items.length, " of ", dataKit.total] }), _jsxs(Select, { value: String(dataKit.limit), onValueChange: (v) => dataKit.actions.setLimit(Number(v)), disabled: dataKit.state.isLoading, children: [_jsx(SelectTrigger, { className: "w-16", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { container: overlayContainer, children: limitOptions.map((v) => (_jsx(SelectItem, { value: String(v), children: v }, v))) })] })] })] }), manual ? (children(dataKit)) : (_jsx("div", { className: "min-h-[200px]", children: dataKit.state.isLoading ? (_jsx("div", { className: "flex h-48 items-center justify-center", children: _jsx(Loader2, { className: "size-6 animate-spin text-muted-foreground" }) })) : dataKit.items.length === 0 ? (_jsx("div", { className: "flex h-48 items-center justify-center text-muted-foreground", children: "No results found." })) : (children(dataKit)) })), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("p", { className: "text-sm text-muted-foreground", children: ["Page ", dataKit.page, " of ", pagination.totalPages] }), paginationType === 'SIMPLE' ? (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "outline", size: "icon", disabled: !pagination.hasPrevPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page - 1), children: _jsx(ChevronLeft, { className: "size-4" }) }), _jsx(Button, { variant: "outline", size: "icon", disabled: !pagination.hasNextPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page + 1), children: _jsx(ChevronRight, { className: "size-4" }) })] })) : (_jsx(Pagination, { className: "mx-0 w-auto", children: _jsxs(PaginationContent, { children: [_jsx(PaginationItem, { className: "hidden sm:block", children: _jsx(PaginationPrevious, { disabled: !pagination.hasPrevPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page - 1) }) }), _jsx(PaginationItem, { className: "sm:hidden", children: _jsx(PaginationLink, { disabled: !pagination.hasPrevPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page - 1), children: _jsx(ChevronLeft, { className: "size-4" }) }) }), pagination.pages.map((pageNum, idx) => (_jsx(PaginationItem, { className: "hidden sm:block", children: pageNum === 'ellipsis' ? (_jsx(PaginationEllipsis, {})) : (_jsx(PaginationLink, { isActive: pageNum === dataKit.page, disabled: dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(pageNum), children: pageNum })) }, idx))), _jsx(PaginationItem, { className: "sm:hidden", children: _jsx("span", { className: "flex size-9 items-center justify-center text-sm", children: dataKit.page }) }), _jsx(PaginationItem, { className: "hidden sm:block", children: _jsx(PaginationNext, { disabled: !pagination.hasNextPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page + 1) }) }), _jsx(PaginationItem, { className: "sm:hidden", children: _jsx(PaginationLink, { disabled: !pagination.hasNextPage || dataKit.state.isLoading, onClick: () => dataKit.actions.setPage(dataKit.page + 1), children: _jsx(ChevronRight, { className: "size-4" }) }) })] }) }))] })] }));
|
|
69
77
|
};
|
|
70
78
|
export const DataKit = React.forwardRef(DataKitInner);
|
|
71
79
|
//# sourceMappingURL=data-kit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-kit.js","sourceRoot":"","sources":["../../../src/client/components/data-kit.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACF,MAAM,EACN,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,MAAM,GACV,MAAM,MAAM,CAAC;AAcd,MAAM,YAAY,GAAG,CAEnB,
|
|
1
|
+
{"version":3,"file":"data-kit.js","sourceRoot":"","sources":["../../../src/client/components/data-kit.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -1013,6 +1013,113 @@ var Button = React2__namespace.forwardRef(function Button2({
|
|
|
1013
1013
|
);
|
|
1014
1014
|
});
|
|
1015
1015
|
Button.displayName = "Button";
|
|
1016
|
+
function Pagination({ className, ...props }) {
|
|
1017
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1018
|
+
"nav",
|
|
1019
|
+
{
|
|
1020
|
+
role: "navigation",
|
|
1021
|
+
"aria-label": "pagination",
|
|
1022
|
+
"data-slot": "pagination",
|
|
1023
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
1024
|
+
...props
|
|
1025
|
+
}
|
|
1026
|
+
);
|
|
1027
|
+
}
|
|
1028
|
+
function PaginationContent({
|
|
1029
|
+
className,
|
|
1030
|
+
...props
|
|
1031
|
+
}) {
|
|
1032
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1033
|
+
"ul",
|
|
1034
|
+
{
|
|
1035
|
+
"data-slot": "pagination-content",
|
|
1036
|
+
className: cn("flex flex-row items-center gap-1", className),
|
|
1037
|
+
...props
|
|
1038
|
+
}
|
|
1039
|
+
);
|
|
1040
|
+
}
|
|
1041
|
+
function PaginationItem({ ...props }) {
|
|
1042
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { "data-slot": "pagination-item", ...props });
|
|
1043
|
+
}
|
|
1044
|
+
function PaginationLink({
|
|
1045
|
+
className,
|
|
1046
|
+
isActive,
|
|
1047
|
+
size = "icon",
|
|
1048
|
+
type = "button",
|
|
1049
|
+
...props
|
|
1050
|
+
}) {
|
|
1051
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1052
|
+
"button",
|
|
1053
|
+
{
|
|
1054
|
+
"aria-current": isActive ? "page" : void 0,
|
|
1055
|
+
"data-slot": "pagination-link",
|
|
1056
|
+
"data-active": isActive ? "true" : "false",
|
|
1057
|
+
className: cn(
|
|
1058
|
+
buttonVariants({
|
|
1059
|
+
variant: isActive ? "outline" : "ghost",
|
|
1060
|
+
size
|
|
1061
|
+
}),
|
|
1062
|
+
className
|
|
1063
|
+
),
|
|
1064
|
+
type,
|
|
1065
|
+
...props
|
|
1066
|
+
}
|
|
1067
|
+
);
|
|
1068
|
+
}
|
|
1069
|
+
function PaginationPrevious({
|
|
1070
|
+
className,
|
|
1071
|
+
...props
|
|
1072
|
+
}) {
|
|
1073
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1074
|
+
PaginationLink,
|
|
1075
|
+
{
|
|
1076
|
+
"aria-label": "Go to previous page",
|
|
1077
|
+
size: "default",
|
|
1078
|
+
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
1079
|
+
...props,
|
|
1080
|
+
children: [
|
|
1081
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "size-4", "aria-hidden": "true" }),
|
|
1082
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:block", children: "Previous" })
|
|
1083
|
+
]
|
|
1084
|
+
}
|
|
1085
|
+
);
|
|
1086
|
+
}
|
|
1087
|
+
function PaginationNext({
|
|
1088
|
+
className,
|
|
1089
|
+
...props
|
|
1090
|
+
}) {
|
|
1091
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1092
|
+
PaginationLink,
|
|
1093
|
+
{
|
|
1094
|
+
"aria-label": "Go to next page",
|
|
1095
|
+
size: "default",
|
|
1096
|
+
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
1097
|
+
...props,
|
|
1098
|
+
children: [
|
|
1099
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:block", children: "Next" }),
|
|
1100
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4", "aria-hidden": "true" })
|
|
1101
|
+
]
|
|
1102
|
+
}
|
|
1103
|
+
);
|
|
1104
|
+
}
|
|
1105
|
+
function PaginationEllipsis({
|
|
1106
|
+
className,
|
|
1107
|
+
...props
|
|
1108
|
+
}) {
|
|
1109
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1110
|
+
"span",
|
|
1111
|
+
{
|
|
1112
|
+
"aria-hidden": "true",
|
|
1113
|
+
"data-slot": "pagination-ellipsis",
|
|
1114
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
1115
|
+
...props,
|
|
1116
|
+
children: [
|
|
1117
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "size-4", "aria-hidden": "true" }),
|
|
1118
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "More pages" })
|
|
1119
|
+
]
|
|
1120
|
+
}
|
|
1121
|
+
);
|
|
1122
|
+
}
|
|
1016
1123
|
function Select({
|
|
1017
1124
|
...props
|
|
1018
1125
|
}) {
|
|
@@ -1161,6 +1268,7 @@ var DataKitRoot = (props) => {
|
|
|
1161
1268
|
bordered,
|
|
1162
1269
|
refetchInterval,
|
|
1163
1270
|
state: stateMode = "memory",
|
|
1271
|
+
pagination: paginationType = "NUMBER",
|
|
1164
1272
|
controller
|
|
1165
1273
|
} = props;
|
|
1166
1274
|
const tableRef = React2.useRef(null);
|
|
@@ -1195,6 +1303,14 @@ var DataKitRoot = (props) => {
|
|
|
1195
1303
|
const selection = useSelectionWithTotal(dataKit.items.map((item) => item.id));
|
|
1196
1304
|
const selectedCount = selection.selectedIds.size;
|
|
1197
1305
|
const colSpan = columns.length + (selectable?.enabled ? 1 : 0);
|
|
1306
|
+
const limitOptions = React2__namespace.default.useMemo(() => {
|
|
1307
|
+
const standardOptions = [10, 25, 50, 100];
|
|
1308
|
+
const currentLimit = dataKit.limit;
|
|
1309
|
+
if (!standardOptions.includes(currentLimit)) {
|
|
1310
|
+
return [...standardOptions, currentLimit].sort((a, b) => a - b);
|
|
1311
|
+
}
|
|
1312
|
+
return standardOptions;
|
|
1313
|
+
}, [dataKit.limit]);
|
|
1198
1314
|
const handleSort = React2.useCallback((path) => {
|
|
1199
1315
|
const currentSort = dataKit.sorts.find((s) => s.path === path);
|
|
1200
1316
|
const nextValue = currentSort?.value === 1 ? -1 : currentSort?.value === -1 ? null : 1;
|
|
@@ -1321,7 +1437,7 @@ var DataKitRoot = (props) => {
|
|
|
1321
1437
|
] }),
|
|
1322
1438
|
/* @__PURE__ */ jsxRuntime.jsxs(Select, { value: String(dataKit.limit), onValueChange: (v) => dataKit.actions.setLimit(Number(v)), disabled: dataKit.state.isLoading, children: [
|
|
1323
1439
|
/* @__PURE__ */ jsxRuntime.jsx(SelectTrigger, { className: "w-16", children: /* @__PURE__ */ jsxRuntime.jsx(SelectValue, {}) }),
|
|
1324
|
-
/* @__PURE__ */ jsxRuntime.jsx(SelectContent, { container: overlayContainer, children:
|
|
1440
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectContent, { container: overlayContainer, children: limitOptions.map((v) => /* @__PURE__ */ jsxRuntime.jsx(SelectItem, { value: String(v), children: v }, v)) })
|
|
1325
1441
|
] })
|
|
1326
1442
|
] })
|
|
1327
1443
|
] }),
|
|
@@ -1398,7 +1514,7 @@ var DataKitRoot = (props) => {
|
|
|
1398
1514
|
" selected)"
|
|
1399
1515
|
] })
|
|
1400
1516
|
] }),
|
|
1401
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1517
|
+
paginationType === "SIMPLE" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1402
1518
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1403
1519
|
Button,
|
|
1404
1520
|
{
|
|
@@ -1419,7 +1535,48 @@ var DataKitRoot = (props) => {
|
|
|
1419
1535
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4" })
|
|
1420
1536
|
}
|
|
1421
1537
|
)
|
|
1422
|
-
] })
|
|
1538
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(Pagination, { className: "mx-0 w-auto", children: /* @__PURE__ */ jsxRuntime.jsxs(PaginationContent, { children: [
|
|
1539
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "hidden sm:block", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1540
|
+
PaginationPrevious,
|
|
1541
|
+
{
|
|
1542
|
+
disabled: !pagination.hasPrevPage || dataKit.state.isLoading,
|
|
1543
|
+
onClick: () => dataKit.actions.setPage(dataKit.page - 1)
|
|
1544
|
+
}
|
|
1545
|
+
) }),
|
|
1546
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "sm:hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1547
|
+
PaginationLink,
|
|
1548
|
+
{
|
|
1549
|
+
disabled: !pagination.hasPrevPage || dataKit.state.isLoading,
|
|
1550
|
+
onClick: () => dataKit.actions.setPage(dataKit.page - 1),
|
|
1551
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "size-4" })
|
|
1552
|
+
}
|
|
1553
|
+
) }),
|
|
1554
|
+
pagination.pages.map((pageNum, idx) => /* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "hidden sm:block", children: pageNum === "ellipsis" ? /* @__PURE__ */ jsxRuntime.jsx(PaginationEllipsis, {}) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1555
|
+
PaginationLink,
|
|
1556
|
+
{
|
|
1557
|
+
isActive: pageNum === dataKit.page,
|
|
1558
|
+
disabled: dataKit.state.isLoading,
|
|
1559
|
+
onClick: () => dataKit.actions.setPage(pageNum),
|
|
1560
|
+
children: pageNum
|
|
1561
|
+
}
|
|
1562
|
+
) }, idx)),
|
|
1563
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "sm:hidden", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-9 items-center justify-center text-sm", children: dataKit.page }) }),
|
|
1564
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "hidden sm:block", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1565
|
+
PaginationNext,
|
|
1566
|
+
{
|
|
1567
|
+
disabled: !pagination.hasNextPage || dataKit.state.isLoading,
|
|
1568
|
+
onClick: () => dataKit.actions.setPage(dataKit.page + 1)
|
|
1569
|
+
}
|
|
1570
|
+
) }),
|
|
1571
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "sm:hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1572
|
+
PaginationLink,
|
|
1573
|
+
{
|
|
1574
|
+
disabled: !pagination.hasNextPage || dataKit.state.isLoading,
|
|
1575
|
+
onClick: () => dataKit.actions.setPage(dataKit.page + 1),
|
|
1576
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4" })
|
|
1577
|
+
}
|
|
1578
|
+
) })
|
|
1579
|
+
] }) })
|
|
1423
1580
|
] })
|
|
1424
1581
|
] });
|
|
1425
1582
|
};
|
|
@@ -1441,6 +1598,7 @@ var DataKitInner = (props, ref) => {
|
|
|
1441
1598
|
refetchInterval,
|
|
1442
1599
|
state: stateMode = "memory",
|
|
1443
1600
|
manual = false,
|
|
1601
|
+
pagination: paginationType = "NUMBER",
|
|
1444
1602
|
children
|
|
1445
1603
|
} = props;
|
|
1446
1604
|
const containerRef = React2.useRef(null);
|
|
@@ -1465,6 +1623,14 @@ var DataKitInner = (props, ref) => {
|
|
|
1465
1623
|
}
|
|
1466
1624
|
});
|
|
1467
1625
|
const pagination = usePagination({ page: dataKit.page, limit: dataKit.limit, total: dataKit.total, siblingCount: 1 });
|
|
1626
|
+
const limitOptions = React2__namespace.default.useMemo(() => {
|
|
1627
|
+
const standardOptions = [10, 25, 50, 100];
|
|
1628
|
+
const currentLimit = dataKit.limit;
|
|
1629
|
+
if (!standardOptions.includes(currentLimit)) {
|
|
1630
|
+
return [...standardOptions, currentLimit].sort((a, b) => a - b);
|
|
1631
|
+
}
|
|
1632
|
+
return standardOptions;
|
|
1633
|
+
}, [dataKit.limit]);
|
|
1468
1634
|
React2__namespace.default.useImperativeHandle(ref, () => dataKit, [dataKit]);
|
|
1469
1635
|
const handleResetFilters = React2.useCallback(() => {
|
|
1470
1636
|
filters.forEach((f) => {
|
|
@@ -1554,7 +1720,7 @@ var DataKitInner = (props, ref) => {
|
|
|
1554
1720
|
] }),
|
|
1555
1721
|
/* @__PURE__ */ jsxRuntime.jsxs(Select, { value: String(dataKit.limit), onValueChange: (v) => dataKit.actions.setLimit(Number(v)), disabled: dataKit.state.isLoading, children: [
|
|
1556
1722
|
/* @__PURE__ */ jsxRuntime.jsx(SelectTrigger, { className: "w-16", children: /* @__PURE__ */ jsxRuntime.jsx(SelectValue, {}) }),
|
|
1557
|
-
/* @__PURE__ */ jsxRuntime.jsx(SelectContent, { container: overlayContainer, children:
|
|
1723
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectContent, { container: overlayContainer, children: limitOptions.map((v) => /* @__PURE__ */ jsxRuntime.jsx(SelectItem, { value: String(v), children: v }, v)) })
|
|
1558
1724
|
] })
|
|
1559
1725
|
] })
|
|
1560
1726
|
] }),
|
|
@@ -1566,7 +1732,7 @@ var DataKitInner = (props, ref) => {
|
|
|
1566
1732
|
" of ",
|
|
1567
1733
|
pagination.totalPages
|
|
1568
1734
|
] }),
|
|
1569
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1735
|
+
paginationType === "SIMPLE" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1570
1736
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1571
1737
|
Button,
|
|
1572
1738
|
{
|
|
@@ -1587,7 +1753,48 @@ var DataKitInner = (props, ref) => {
|
|
|
1587
1753
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4" })
|
|
1588
1754
|
}
|
|
1589
1755
|
)
|
|
1590
|
-
] })
|
|
1756
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(Pagination, { className: "mx-0 w-auto", children: /* @__PURE__ */ jsxRuntime.jsxs(PaginationContent, { children: [
|
|
1757
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "hidden sm:block", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1758
|
+
PaginationPrevious,
|
|
1759
|
+
{
|
|
1760
|
+
disabled: !pagination.hasPrevPage || dataKit.state.isLoading,
|
|
1761
|
+
onClick: () => dataKit.actions.setPage(dataKit.page - 1)
|
|
1762
|
+
}
|
|
1763
|
+
) }),
|
|
1764
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "sm:hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1765
|
+
PaginationLink,
|
|
1766
|
+
{
|
|
1767
|
+
disabled: !pagination.hasPrevPage || dataKit.state.isLoading,
|
|
1768
|
+
onClick: () => dataKit.actions.setPage(dataKit.page - 1),
|
|
1769
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "size-4" })
|
|
1770
|
+
}
|
|
1771
|
+
) }),
|
|
1772
|
+
pagination.pages.map((pageNum, idx) => /* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "hidden sm:block", children: pageNum === "ellipsis" ? /* @__PURE__ */ jsxRuntime.jsx(PaginationEllipsis, {}) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1773
|
+
PaginationLink,
|
|
1774
|
+
{
|
|
1775
|
+
isActive: pageNum === dataKit.page,
|
|
1776
|
+
disabled: dataKit.state.isLoading,
|
|
1777
|
+
onClick: () => dataKit.actions.setPage(pageNum),
|
|
1778
|
+
children: pageNum
|
|
1779
|
+
}
|
|
1780
|
+
) }, idx)),
|
|
1781
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "sm:hidden", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-9 items-center justify-center text-sm", children: dataKit.page }) }),
|
|
1782
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "hidden sm:block", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1783
|
+
PaginationNext,
|
|
1784
|
+
{
|
|
1785
|
+
disabled: !pagination.hasNextPage || dataKit.state.isLoading,
|
|
1786
|
+
onClick: () => dataKit.actions.setPage(dataKit.page + 1)
|
|
1787
|
+
}
|
|
1788
|
+
) }),
|
|
1789
|
+
/* @__PURE__ */ jsxRuntime.jsx(PaginationItem, { className: "sm:hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1790
|
+
PaginationLink,
|
|
1791
|
+
{
|
|
1792
|
+
disabled: !pagination.hasNextPage || dataKit.state.isLoading,
|
|
1793
|
+
onClick: () => dataKit.actions.setPage(dataKit.page + 1),
|
|
1794
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4" })
|
|
1795
|
+
}
|
|
1796
|
+
) })
|
|
1797
|
+
] }) })
|
|
1591
1798
|
] })
|
|
1592
1799
|
] });
|
|
1593
1800
|
};
|