@a5it/sync-ui 0.1.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/README.md +45 -0
- package/dist/components/data-table/actions/action-delete.d.ts +8 -0
- package/dist/components/data-table/actions/action-delete.d.ts.map +1 -0
- package/dist/components/data-table/actions/action-delete.js +17 -0
- package/dist/components/data-table/actions/action-delete.js.map +1 -0
- package/dist/components/data-table/actions/action-item.d.ts +7 -0
- package/dist/components/data-table/actions/action-item.d.ts.map +1 -0
- package/dist/components/data-table/actions/action-item.js +7 -0
- package/dist/components/data-table/actions/action-item.js.map +1 -0
- package/dist/components/data-table/actions/actions-dropdown.d.ts +8 -0
- package/dist/components/data-table/actions/actions-dropdown.d.ts.map +1 -0
- package/dist/components/data-table/actions/actions-dropdown.js +9 -0
- package/dist/components/data-table/actions/actions-dropdown.js.map +1 -0
- package/dist/components/data-table/cells/date-time-cell.d.ts +16 -0
- package/dist/components/data-table/cells/date-time-cell.d.ts.map +1 -0
- package/dist/components/data-table/cells/date-time-cell.js +32 -0
- package/dist/components/data-table/cells/date-time-cell.js.map +1 -0
- package/dist/components/data-table/cells/payment-pill.d.ts +7 -0
- package/dist/components/data-table/cells/payment-pill.d.ts.map +1 -0
- package/dist/components/data-table/cells/payment-pill.js +23 -0
- package/dist/components/data-table/cells/payment-pill.js.map +1 -0
- package/dist/components/data-table/cells/record-id-cell.d.ts +7 -0
- package/dist/components/data-table/cells/record-id-cell.d.ts.map +1 -0
- package/dist/components/data-table/cells/record-id-cell.js +7 -0
- package/dist/components/data-table/cells/record-id-cell.js.map +1 -0
- package/dist/components/data-table/cells/status-pill.d.ts +6 -0
- package/dist/components/data-table/cells/status-pill.d.ts.map +1 -0
- package/dist/components/data-table/cells/status-pill.js +67 -0
- package/dist/components/data-table/cells/status-pill.js.map +1 -0
- package/dist/components/data-table/cells/table-checkbox.d.ts +4 -0
- package/dist/components/data-table/cells/table-checkbox.d.ts.map +1 -0
- package/dist/components/data-table/cells/table-checkbox.js +9 -0
- package/dist/components/data-table/cells/table-checkbox.js.map +1 -0
- package/dist/components/data-table/cells/text-cell.d.ts +8 -0
- package/dist/components/data-table/cells/text-cell.d.ts.map +1 -0
- package/dist/components/data-table/cells/text-cell.js +7 -0
- package/dist/components/data-table/cells/text-cell.js.map +1 -0
- package/dist/components/data-table/column-header.d.ts +10 -0
- package/dist/components/data-table/column-header.d.ts.map +1 -0
- package/dist/components/data-table/column-header.js +42 -0
- package/dist/components/data-table/column-header.js.map +1 -0
- package/dist/components/data-table/columns/selection.d.ts +4 -0
- package/dist/components/data-table/columns/selection.d.ts.map +1 -0
- package/dist/components/data-table/columns/selection.js +33 -0
- package/dist/components/data-table/columns/selection.js.map +1 -0
- package/dist/components/data-table/filters/all-filters.d.ts +11 -0
- package/dist/components/data-table/filters/all-filters.d.ts.map +1 -0
- package/dist/components/data-table/filters/all-filters.js +9 -0
- package/dist/components/data-table/filters/all-filters.js.map +1 -0
- package/dist/components/data-table/filters/bulk-delete.d.ts +16 -0
- package/dist/components/data-table/filters/bulk-delete.d.ts.map +1 -0
- package/dist/components/data-table/filters/bulk-delete.js +20 -0
- package/dist/components/data-table/filters/bulk-delete.js.map +1 -0
- package/dist/components/data-table/filters/filters.d.ts +4 -0
- package/dist/components/data-table/filters/filters.d.ts.map +1 -0
- package/dist/components/data-table/filters/filters.js +10 -0
- package/dist/components/data-table/filters/filters.js.map +1 -0
- package/dist/components/data-table/filters/reset.d.ts +21 -0
- package/dist/components/data-table/filters/reset.d.ts.map +1 -0
- package/dist/components/data-table/filters/reset.js +34 -0
- package/dist/components/data-table/filters/reset.js.map +1 -0
- package/dist/components/data-table/filters/search.d.ts +25 -0
- package/dist/components/data-table/filters/search.d.ts.map +1 -0
- package/dist/components/data-table/filters/search.js +89 -0
- package/dist/components/data-table/filters/search.js.map +1 -0
- package/dist/components/data-table/filters/sort-by.d.ts +7 -0
- package/dist/components/data-table/filters/sort-by.d.ts.map +1 -0
- package/dist/components/data-table/filters/sort-by.js +76 -0
- package/dist/components/data-table/filters/sort-by.js.map +1 -0
- package/dist/components/data-table/index.d.ts +26 -0
- package/dist/components/data-table/index.d.ts.map +1 -0
- package/dist/components/data-table/index.js +24 -0
- package/dist/components/data-table/index.js.map +1 -0
- package/dist/components/data-table/pagination/pagination.d.ts +66 -0
- package/dist/components/data-table/pagination/pagination.d.ts.map +1 -0
- package/dist/components/data-table/pagination/pagination.js +224 -0
- package/dist/components/data-table/pagination/pagination.js.map +1 -0
- package/dist/components/data-table/provider.d.ts +284 -0
- package/dist/components/data-table/provider.d.ts.map +1 -0
- package/dist/components/data-table/provider.js +193 -0
- package/dist/components/data-table/provider.js.map +1 -0
- package/dist/components/data-table/table.d.ts +21 -0
- package/dist/components/data-table/table.d.ts.map +1 -0
- package/dist/components/data-table/table.js +120 -0
- package/dist/components/data-table/table.js.map +1 -0
- package/dist/components/data-table/tabs.d.ts +19 -0
- package/dist/components/data-table/tabs.d.ts.map +1 -0
- package/dist/components/data-table/tabs.js +22 -0
- package/dist/components/data-table/tabs.js.map +1 -0
- package/dist/components/data-table/url-state.d.ts +54 -0
- package/dist/components/data-table/url-state.d.ts.map +1 -0
- package/dist/components/data-table/url-state.js +130 -0
- package/dist/components/data-table/url-state.js.map +1 -0
- package/dist/components/page-header/index.d.ts +3 -0
- package/dist/components/page-header/index.d.ts.map +1 -0
- package/dist/components/page-header/index.js +2 -0
- package/dist/components/page-header/index.js.map +1 -0
- package/dist/components/page-header/page-header.d.ts +56 -0
- package/dist/components/page-header/page-header.d.ts.map +1 -0
- package/dist/components/page-header/page-header.js +59 -0
- package/dist/components/page-header/page-header.js.map +1 -0
- package/dist/components/sidebar/index.d.ts +2 -0
- package/dist/components/sidebar/index.d.ts.map +1 -0
- package/dist/components/sidebar/index.js +2 -0
- package/dist/components/sidebar/index.js.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +15 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.js +40 -0
- package/dist/components/ui/alert-dialog.js.map +1 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +36 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox.js +10 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +26 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +52 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +14 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/sheet.d.ts +14 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet.js +41 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/table.d.ts +11 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/table.js +30 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +33 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +3 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/styles/index.css +19 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Trash2 } from "lucide-react";
|
|
4
|
+
import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "../../ui/alert-dialog";
|
|
5
|
+
import { cn } from "../../../lib/utils";
|
|
6
|
+
import { useDataTable } from "../provider";
|
|
7
|
+
export function DataTableBulkDelete({ onConfirm, confirmTitle = "Delete selected records?", confirmDescription = "This action cannot be undone.", className, buttonClassName, }) {
|
|
8
|
+
const { table } = useDataTable();
|
|
9
|
+
const selectedRows = table.getSelectedRowModel().rows;
|
|
10
|
+
const ids = selectedRows.map((r) => r.id);
|
|
11
|
+
const rows = selectedRows.map((r) => r.original);
|
|
12
|
+
const disabled = ids.length === 0;
|
|
13
|
+
return (_jsx("div", { className: className, children: _jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: _jsxs("button", { type: "button", disabled: disabled, className: cn("flex items-center justify-center gap-2 rounded-[12px] px-4 py-3", disabled
|
|
14
|
+
? "bg-[#f2f2f2] text-[#a6a6a6] cursor-not-allowed"
|
|
15
|
+
: "bg-[#ffd1d1] text-[#ba1c1c]", buttonClassName), children: [_jsx(Trash2, { className: cn("h-4 w-4", disabled ? "text-[#a6a6a6]" : "text-[#ba1c1c]"), "aria-hidden": true }), _jsxs("span", { className: "text-[14px] leading-4 font-semibold", children: ["Delete", ids.length ? ` (${ids.length})` : ""] })] }) }), _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: confirmTitle }), _jsx(AlertDialogDescription, { children: confirmDescription })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Cancel" }), _jsx(AlertDialogAction, { onClick: () => {
|
|
16
|
+
onConfirm({ ids, rows });
|
|
17
|
+
table.resetRowSelection();
|
|
18
|
+
}, children: "Delete" })] })] })] }) }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=bulk-delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulk-delete.js","sourceRoot":"","sources":["../../../../src/components/data-table/filters/bulk-delete.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,MAAM,UAAU,mBAAmB,CAAwC,EACzE,SAAS,EACT,YAAY,GAAG,0BAA0B,EACzC,kBAAkB,GAAG,+BAA+B,EACpD,SAAS,EACT,eAAe,GACiB;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAS,CAAC;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC;IACtD,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;IAElC,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACvB,MAAC,WAAW,eACV,KAAC,kBAAkB,IAAC,OAAO,kBACzB,kBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,QAAQ;4BACN,CAAC,CAAC,gDAAgD;4BAClD,CAAC,CAAC,6BAA6B,EACjC,eAAe,CAChB,aAED,KAAC,MAAM,IACL,SAAS,EAAE,EAAE,CACX,SAAS,EACT,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAC/C,wBAED,EACF,gBAAM,SAAS,EAAC,qCAAqC,uBAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,IACtC,IACA,GACU,EAErB,MAAC,kBAAkB,eACjB,MAAC,iBAAiB,eAChB,KAAC,gBAAgB,cAAE,YAAY,GAAoB,EACnD,KAAC,sBAAsB,cACpB,kBAAkB,GACI,IACP,EACpB,MAAC,iBAAiB,eAChB,KAAC,iBAAiB,yBAA2B,EAC7C,KAAC,iBAAiB,IAChB,OAAO,EAAE,GAAG,EAAE;wCACZ,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;wCACzB,KAAK,CAAC,iBAAiB,EAAE,CAAC;oCAC5B,CAAC,uBAGiB,IACF,IACD,IACT,GACV,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export declare function DataTableFilters({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function DataTableFiltersActions({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/filters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAU7B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAI7B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "../../../lib/utils";
|
|
4
|
+
export function DataTableFilters({ className, ...props }) {
|
|
5
|
+
return (_jsx("div", { className: cn("flex items-center justify-between px-6 py-2 border-b border-[#e6e6e6]", className), ...props }));
|
|
6
|
+
}
|
|
7
|
+
export function DataTableFiltersActions({ className, ...props }) {
|
|
8
|
+
return (_jsx("div", { className: cn("flex items-center gap-2", className), ...props }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/components/data-table/filters/filters.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,MAAM,UAAU,gBAAgB,CAAC,EAC/B,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CACX,uEAAuE,EACvE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,EACT,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACxE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type DataTableResetProps = {
|
|
2
|
+
className?: string;
|
|
3
|
+
buttonClassName?: string;
|
|
4
|
+
/**
|
|
5
|
+
* Custom label for the reset button.
|
|
6
|
+
* @default "Reset"
|
|
7
|
+
*/
|
|
8
|
+
label?: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Reset button that clears all active filters.
|
|
12
|
+
* Only visible when at least one filter is active.
|
|
13
|
+
*
|
|
14
|
+
* Resets:
|
|
15
|
+
* - Search input
|
|
16
|
+
* - Sorting
|
|
17
|
+
* - Tabs (back to default/first)
|
|
18
|
+
* - Hidden columns (show all)
|
|
19
|
+
*/
|
|
20
|
+
export declare function DataTableReset({ className, buttonClassName, label, }: DataTableResetProps): import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
+
//# sourceMappingURL=reset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/reset.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,eAAe,EACf,KAAe,GAChB,EAAE,mBAAmB,kDAsCrB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { RotateCcw } from "lucide-react";
|
|
4
|
+
import { cn } from "../../../lib/utils";
|
|
5
|
+
import { useDataTable } from "../provider";
|
|
6
|
+
/**
|
|
7
|
+
* Reset button that clears all active filters.
|
|
8
|
+
* Only visible when at least one filter is active.
|
|
9
|
+
*
|
|
10
|
+
* Resets:
|
|
11
|
+
* - Search input
|
|
12
|
+
* - Sorting
|
|
13
|
+
* - Tabs (back to default/first)
|
|
14
|
+
* - Hidden columns (show all)
|
|
15
|
+
*/
|
|
16
|
+
export function DataTableReset({ className, buttonClassName, label = "Reset", }) {
|
|
17
|
+
const { urlState, table } = useDataTable();
|
|
18
|
+
const { hasActiveFilters, resetAllFilters } = urlState;
|
|
19
|
+
// Don't render if no filters are active
|
|
20
|
+
if (!hasActiveFilters) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
const handleReset = () => {
|
|
24
|
+
// Reset URL state
|
|
25
|
+
resetAllFilters();
|
|
26
|
+
// Also reset TanStack table state
|
|
27
|
+
table.setSorting([]);
|
|
28
|
+
table.setGlobalFilter("");
|
|
29
|
+
table.resetColumnVisibility();
|
|
30
|
+
table.resetRowSelection();
|
|
31
|
+
};
|
|
32
|
+
return (_jsx("div", { className: className, children: _jsxs("button", { type: "button", onClick: handleReset, className: cn("flex items-center justify-center gap-2 rounded-[12px] px-4 py-3", "bg-[#ffd1d1] text-[#ba1c1c]", buttonClassName), children: [_jsx(RotateCcw, { className: "h-4 w-4 text-[#ba1c1c]", "aria-hidden": true }), _jsx("span", { className: "text-[14px] leading-4 font-semibold", children: label })] }) }));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=reset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../../src/components/data-table/filters/reset.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAY3C;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,SAAS,EACT,eAAe,EACf,KAAK,GAAG,OAAO,GACK;IACpB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,YAAY,EAAO,CAAC;IAChD,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;IAEvD,wCAAwC;IACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,kBAAkB;QAClB,eAAe,EAAE,CAAC;QAElB,kCAAkC;QAClC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrB,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1B,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC9B,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACvB,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,6BAA6B,EAC7B,eAAe,CAChB,aAED,KAAC,SAAS,IAAC,SAAS,EAAC,wBAAwB,wBAAe,EAC5D,eAAM,SAAS,EAAC,qCAAqC,YAClD,KAAK,GACD,IACA,GACL,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type DataTableSearchProps = {
|
|
2
|
+
placeholder?: string;
|
|
3
|
+
/**
|
|
4
|
+
* Debounce delay in milliseconds.
|
|
5
|
+
* - For server mode: always applies (default 300ms)
|
|
6
|
+
* - For client mode: set to 0 to disable debouncing for instant filtering
|
|
7
|
+
* @default 300
|
|
8
|
+
*/
|
|
9
|
+
debounceMs?: number;
|
|
10
|
+
className?: string;
|
|
11
|
+
inputClassName?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Search input for DataTable filtering.
|
|
15
|
+
*
|
|
16
|
+
* Both client and server modes use URL query params for persistence.
|
|
17
|
+
* The difference is WHO does the filtering:
|
|
18
|
+
* - **Client mode**: nuqs syncs URL → TanStack filters locally
|
|
19
|
+
* - **Server mode**: nuqs syncs URL → your API filters on server
|
|
20
|
+
*
|
|
21
|
+
* Uses the first param from `filterConfig.params` as the search key.
|
|
22
|
+
* Set `debounceMs={0}` for instant client-side filtering without delay.
|
|
23
|
+
*/
|
|
24
|
+
export declare function DataTableSearch({ placeholder, debounceMs, className, inputClassName, }: DataTableSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/search.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAyB,EACzB,UAAgB,EAChB,SAAS,EACT,cAAc,GACf,EAAE,oBAAoB,2CAoHtB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Search, X } from "lucide-react";
|
|
5
|
+
import { useQueryState } from "nuqs";
|
|
6
|
+
import { cn } from "../../../lib/utils";
|
|
7
|
+
import { useDataTable } from "../provider";
|
|
8
|
+
/**
|
|
9
|
+
* Search input for DataTable filtering.
|
|
10
|
+
*
|
|
11
|
+
* Both client and server modes use URL query params for persistence.
|
|
12
|
+
* The difference is WHO does the filtering:
|
|
13
|
+
* - **Client mode**: nuqs syncs URL → TanStack filters locally
|
|
14
|
+
* - **Server mode**: nuqs syncs URL → your API filters on server
|
|
15
|
+
*
|
|
16
|
+
* Uses the first param from `filterConfig.params` as the search key.
|
|
17
|
+
* Set `debounceMs={0}` for instant client-side filtering without delay.
|
|
18
|
+
*/
|
|
19
|
+
export function DataTableSearch({ placeholder = "Search...", debounceMs = 300, className, inputClassName, }) {
|
|
20
|
+
const { table, filterConfig } = useDataTable();
|
|
21
|
+
// Determine mode from filterConfig
|
|
22
|
+
const isClientMode = filterConfig?.mode === "client";
|
|
23
|
+
const isServerMode = filterConfig?.mode === "server";
|
|
24
|
+
const hasFilterConfig = isClientMode || isServerMode;
|
|
25
|
+
// Get the first param key to use for search URL param
|
|
26
|
+
const searchParamKey = hasFilterConfig
|
|
27
|
+
? Object.values(filterConfig.params)[0] ?? "search"
|
|
28
|
+
: "search";
|
|
29
|
+
// nuqs state for URL-based filtering (used for both client and server modes)
|
|
30
|
+
const [queryValue, setQueryValue] = useQueryState(searchParamKey, {
|
|
31
|
+
defaultValue: "",
|
|
32
|
+
shallow: isClientMode, // Client mode: shallow (no server roundtrip). Server mode: triggers navigation
|
|
33
|
+
throttleMs: debounceMs,
|
|
34
|
+
});
|
|
35
|
+
// Local input state for responsive typing
|
|
36
|
+
const [localValue, setLocalValue] = React.useState(queryValue);
|
|
37
|
+
// Sync local value from URL on mount and when URL changes externally
|
|
38
|
+
React.useEffect(() => {
|
|
39
|
+
setLocalValue(queryValue);
|
|
40
|
+
}, [queryValue]);
|
|
41
|
+
// For client mode: sync URL value to TanStack's globalFilter
|
|
42
|
+
React.useEffect(() => {
|
|
43
|
+
if (isClientMode) {
|
|
44
|
+
table.setGlobalFilter(queryValue);
|
|
45
|
+
}
|
|
46
|
+
}, [isClientMode, queryValue, table]);
|
|
47
|
+
React.useEffect(() => {
|
|
48
|
+
if (!hasFilterConfig) {
|
|
49
|
+
const timer = setTimeout(() => {
|
|
50
|
+
table.setGlobalFilter(localValue);
|
|
51
|
+
}, debounceMs);
|
|
52
|
+
return () => clearTimeout(timer);
|
|
53
|
+
}
|
|
54
|
+
// For both client and server modes: update URL
|
|
55
|
+
// Skip debouncing for client mode when debounceMs is 0
|
|
56
|
+
if (isClientMode && debounceMs <= 0) {
|
|
57
|
+
setQueryValue(localValue || null);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const timer = setTimeout(() => {
|
|
61
|
+
setQueryValue(localValue || null);
|
|
62
|
+
}, debounceMs);
|
|
63
|
+
return () => clearTimeout(timer);
|
|
64
|
+
}, [localValue, debounceMs, hasFilterConfig, isClientMode, setQueryValue, table]);
|
|
65
|
+
const handleChange = (e) => {
|
|
66
|
+
const newValue = e.target.value;
|
|
67
|
+
setLocalValue(newValue);
|
|
68
|
+
// Immediate update for client mode when debouncing is disabled
|
|
69
|
+
if (isClientMode && debounceMs <= 0) {
|
|
70
|
+
setQueryValue(newValue || null);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const handleClear = () => {
|
|
74
|
+
setLocalValue("");
|
|
75
|
+
if (hasFilterConfig) {
|
|
76
|
+
setQueryValue(null);
|
|
77
|
+
}
|
|
78
|
+
if (isClientMode || !hasFilterConfig) {
|
|
79
|
+
table.setGlobalFilter("");
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const handleSubmit = (e) => {
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
};
|
|
85
|
+
return (_jsxs("form", { onSubmit: handleSubmit, role: "search", className: cn("flex w-[400px] items-center gap-2 rounded-[8px] bg-[#f2f2f2] px-4 py-3", className), children: [_jsx(Search, { className: "h-5 w-5 shrink-0 text-[#a6a6a6]", "aria-hidden": true }), _jsx("input", { type: "search", value: localValue, onChange: handleChange, className: cn("w-full bg-transparent text-[14px] font-medium text-[#1a1a1a] placeholder:text-[#a6a6a6] focus:outline-none",
|
|
86
|
+
// Hide browser's default clear button (we provide our own)
|
|
87
|
+
"[&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden", inputClassName), placeholder: placeholder, "aria-label": placeholder }), localValue && (_jsx("button", { type: "button", onClick: handleClear, className: "shrink-0 rounded-full p-0.5 text-[#a6a6a6] hover:bg-[#e6e6e6] hover:text-[#666666] focus:outline-none focus-visible:ring-2 focus-visible:ring-[#1a1a1a]", "aria-label": "Clear search", children: _jsx(X, { className: "h-4 w-4" }) }))] }));
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/components/data-table/filters/search.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type DataTableSortByProps = {
|
|
2
|
+
className?: string;
|
|
3
|
+
buttonClassName?: string;
|
|
4
|
+
contentClassName?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function DataTableSortBy({ className, buttonClassName, contentClassName, }: DataTableSortByProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
//# sourceMappingURL=sort-by.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-by.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/sort-by.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAkBF,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,eAAe,EACf,gBAAgB,GACjB,EAAE,oBAAoB,kDA8HtB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { ArrowUpDown, Check, X } from "lucide-react";
|
|
5
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "../../ui/dropdown-menu";
|
|
6
|
+
import { cn } from "../../../lib/utils";
|
|
7
|
+
import { useDataTable } from "../provider";
|
|
8
|
+
function humanizeColumnId(id) {
|
|
9
|
+
if (id.toLowerCase() === "id")
|
|
10
|
+
return "ID";
|
|
11
|
+
const withoutLabel = id.endsWith("Label") ? id.slice(0, -5) : id;
|
|
12
|
+
const spaced = withoutLabel
|
|
13
|
+
.replace(/[_-]+/g, " ")
|
|
14
|
+
.replace(/([a-z0-9])([A-Z])/g, "$1 $2")
|
|
15
|
+
.trim();
|
|
16
|
+
return spaced
|
|
17
|
+
.split(" ")
|
|
18
|
+
.filter(Boolean)
|
|
19
|
+
.map((word) => word[0].toUpperCase() + word.slice(1))
|
|
20
|
+
.join(" ");
|
|
21
|
+
}
|
|
22
|
+
export function DataTableSortBy({ className, buttonClassName, contentClassName, }) {
|
|
23
|
+
const { table, urlState } = useDataTable();
|
|
24
|
+
const sortableColumns = table
|
|
25
|
+
.getAllLeafColumns()
|
|
26
|
+
.filter((c) => c.getCanSort());
|
|
27
|
+
if (!sortableColumns.length)
|
|
28
|
+
return null;
|
|
29
|
+
const currentSortColumn = urlState.sortColumn;
|
|
30
|
+
const currentSortOrder = urlState.sortOrder;
|
|
31
|
+
const hasActiveSort = Boolean(currentSortColumn);
|
|
32
|
+
const handleSort = (columnId, order) => {
|
|
33
|
+
if (columnId === null) {
|
|
34
|
+
// Clear sort
|
|
35
|
+
urlState.setSorting(null, null);
|
|
36
|
+
table.setSorting([]);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
urlState.setSorting(columnId, order ?? "asc");
|
|
40
|
+
table.setSorting([{ id: columnId, desc: order === "desc" }]);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
// Sync TanStack table sort state with URL state on mount
|
|
44
|
+
React.useEffect(() => {
|
|
45
|
+
if (currentSortColumn) {
|
|
46
|
+
table.setSorting([{ id: currentSortColumn, desc: currentSortOrder === "desc" }]);
|
|
47
|
+
}
|
|
48
|
+
}, [currentSortColumn, currentSortOrder, table]);
|
|
49
|
+
return (_jsx("div", { className: className, children: _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: cn("flex items-center justify-center gap-2 rounded-[12px] bg-[#f2f2f2] px-4 py-3", buttonClassName), children: [_jsx(ArrowUpDown, { className: "h-4 w-4 text-[#1a1a1a]", "aria-hidden": true }), _jsx("span", { className: "text-[14px] leading-4 font-semibold text-[#1a1a1a]", children: "Sort By" })] }) }), _jsxs(DropdownMenuContent, { align: "end", className: cn("min-w-[220px]", contentClassName), children: [_jsxs(DropdownMenuItem, { onSelect: () => handleSort(null), children: [_jsx("span", { className: "flex-1", children: "None" }), !hasActiveSort && (_jsx(Check, { className: "h-4 w-4 text-muted-foreground", "aria-hidden": true }))] }), _jsx(DropdownMenuSeparator, {}), sortableColumns.map((column) => {
|
|
50
|
+
const meta = column.columnDef.meta;
|
|
51
|
+
const headerDef = column.columnDef.header;
|
|
52
|
+
const headerLabel = typeof headerDef === "string" ? headerDef : undefined;
|
|
53
|
+
const label = meta?.sortyByLabel ??
|
|
54
|
+
meta?.label ??
|
|
55
|
+
headerLabel ??
|
|
56
|
+
humanizeColumnId(column.id);
|
|
57
|
+
const isActive = currentSortColumn === column.id;
|
|
58
|
+
const isAsc = isActive && currentSortOrder === "asc";
|
|
59
|
+
const isDesc = isActive && currentSortOrder === "desc";
|
|
60
|
+
return (_jsxs(DropdownMenuItem, { onSelect: () => {
|
|
61
|
+
if (!isActive) {
|
|
62
|
+
// First click: sort ascending
|
|
63
|
+
handleSort(column.id, "asc");
|
|
64
|
+
}
|
|
65
|
+
else if (isAsc) {
|
|
66
|
+
// Second click: sort descending
|
|
67
|
+
handleSort(column.id, "desc");
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
// Third click: clear sort
|
|
71
|
+
handleSort(null);
|
|
72
|
+
}
|
|
73
|
+
}, children: [_jsx("span", { className: "flex-1", children: label }), isActive && (_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("div", { className: cn("h-1.5 w-1.5 rounded-full", isAsc ? "bg-primary" : "bg-[#f97316]"), "aria-hidden": true }), _jsx("span", { className: "text-[10px] text-muted-foreground uppercase", children: isAsc ? "asc" : "desc" })] }))] }, column.id));
|
|
74
|
+
}), hasActiveSort && (_jsxs(_Fragment, { children: [_jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { onSelect: () => handleSort(null), className: "text-[#dc2626]", children: [_jsx(X, { className: "h-4 w-4 text-[#dc2626]", "aria-hidden": true }), _jsx("span", { className: "flex-1", children: "Clear sort" })] })] }))] })] }) }));
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=sort-by.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-by.js","sourceRoot":"","sources":["../../../../src/components/data-table/filters/sort-by.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export { DataTableProvider, useDataTable } from "./provider";
|
|
2
|
+
export type { DataTableColumnMeta, DataTableQueryState, FilterConfig, ClientFilterConfig, ServerFilterConfig, NoFilterConfig, PaginationConfig, ClientPaginationConfig, ServerPaginationConfig, NoPaginationConfig, PaginationParams, } from "./provider";
|
|
3
|
+
export { UrlStateProvider, useUrlState } from "./url-state";
|
|
4
|
+
export type { UrlStateConfig, UrlStateContextValue } from "./url-state";
|
|
5
|
+
export { DataTableTable } from "./table";
|
|
6
|
+
export { DataTableColumnHeader } from "./column-header";
|
|
7
|
+
export { DataTableTabs, DataTableTabsList, DataTableTabsTrigger, DataTableTabsContent, } from "./tabs";
|
|
8
|
+
export { DataTableFilters, DataTableFiltersActions } from "./filters/filters";
|
|
9
|
+
export { DataTableSearch } from "./filters/search";
|
|
10
|
+
export { DataTableAllFilters } from "./filters/all-filters";
|
|
11
|
+
export { DataTableSortBy } from "./filters/sort-by";
|
|
12
|
+
export { DataTableBulkDelete } from "./filters/bulk-delete";
|
|
13
|
+
export { DataTableReset } from "./filters/reset";
|
|
14
|
+
export { DataTableActionsDropdown } from "./actions/actions-dropdown";
|
|
15
|
+
export { DataTableActionItem } from "./actions/action-item";
|
|
16
|
+
export { DataTableActionDelete } from "./actions/action-delete";
|
|
17
|
+
export { DataTableCheckbox } from "./cells/table-checkbox";
|
|
18
|
+
export { DataTableRecordIdCell } from "./cells/record-id-cell";
|
|
19
|
+
export { DataTableTextCell } from "./cells/text-cell";
|
|
20
|
+
export { DataTableStatusPill } from "./cells/status-pill";
|
|
21
|
+
export { DataTablePaymentPill } from "./cells/payment-pill";
|
|
22
|
+
export { DataTableDateTimeCell } from "./cells/date-time-cell";
|
|
23
|
+
export type { PaymentLabel } from "./cells/payment-pill";
|
|
24
|
+
export { createSelectionColumn, DATA_TABLE_SELECTION_COLUMN_ID, } from "./columns/selection";
|
|
25
|
+
export { DataTablePagination, DataTablePaginationInfo, DataTablePaginationLimits, DataTablePaginationLinks, DataTablePaginationActions, } from "./pagination/pagination";
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
export { DataTableProvider, useDataTable } from "./provider";
|
|
3
|
+
export { UrlStateProvider, useUrlState } from "./url-state";
|
|
4
|
+
export { DataTableTable } from "./table";
|
|
5
|
+
export { DataTableColumnHeader } from "./column-header";
|
|
6
|
+
export { DataTableTabs, DataTableTabsList, DataTableTabsTrigger, DataTableTabsContent, } from "./tabs";
|
|
7
|
+
export { DataTableFilters, DataTableFiltersActions } from "./filters/filters";
|
|
8
|
+
export { DataTableSearch } from "./filters/search";
|
|
9
|
+
export { DataTableAllFilters } from "./filters/all-filters";
|
|
10
|
+
export { DataTableSortBy } from "./filters/sort-by";
|
|
11
|
+
export { DataTableBulkDelete } from "./filters/bulk-delete";
|
|
12
|
+
export { DataTableReset } from "./filters/reset";
|
|
13
|
+
export { DataTableActionsDropdown } from "./actions/actions-dropdown";
|
|
14
|
+
export { DataTableActionItem } from "./actions/action-item";
|
|
15
|
+
export { DataTableActionDelete } from "./actions/action-delete";
|
|
16
|
+
export { DataTableCheckbox } from "./cells/table-checkbox";
|
|
17
|
+
export { DataTableRecordIdCell } from "./cells/record-id-cell";
|
|
18
|
+
export { DataTableTextCell } from "./cells/text-cell";
|
|
19
|
+
export { DataTableStatusPill } from "./cells/status-pill";
|
|
20
|
+
export { DataTablePaymentPill } from "./cells/payment-pill";
|
|
21
|
+
export { DataTableDateTimeCell } from "./cells/date-time-cell";
|
|
22
|
+
export { createSelectionColumn, DATA_TABLE_SELECTION_COLUMN_ID, } from "./columns/selection";
|
|
23
|
+
export { DataTablePagination, DataTablePaginationInfo, DataTablePaginationLimits, DataTablePaginationLinks, DataTablePaginationActions, } from "./pagination/pagination";
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/data-table/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAe7D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EACL,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type DataTablePaginationProps = React.ComponentProps<"div">;
|
|
3
|
+
/**
|
|
4
|
+
* Pagination container that reads from DataTableProvider's paginationConfig.
|
|
5
|
+
*
|
|
6
|
+
* Both client and server modes sync page/limit to URL query params.
|
|
7
|
+
* - **Client mode**: TanStack Table paginates locally
|
|
8
|
+
* - **Server mode**: URL params trigger server-side pagination
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <DataTablePagination>
|
|
13
|
+
* <DataTablePaginationInfo />
|
|
14
|
+
* <DataTablePaginationActions>
|
|
15
|
+
* <DataTablePaginationLimits />
|
|
16
|
+
* <DataTablePaginationLinks />
|
|
17
|
+
* </DataTablePaginationActions>
|
|
18
|
+
* </DataTablePagination>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function DataTablePagination({ className, children, ...props }: DataTablePaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export type DataTablePaginationInfoProps = React.ComponentProps<"div"> & {
|
|
23
|
+
/**
|
|
24
|
+
* Custom format function.
|
|
25
|
+
* @param start - First item index (1-indexed)
|
|
26
|
+
* @param end - Last item index
|
|
27
|
+
* @param total - Total items
|
|
28
|
+
*/
|
|
29
|
+
format?: (start: number, end: number, total: number) => React.ReactNode;
|
|
30
|
+
};
|
|
31
|
+
export declare function DataTablePaginationInfo({ format, className, ...props }: DataTablePaginationInfoProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export type DataTablePaginationLimitsProps = {
|
|
33
|
+
className?: string;
|
|
34
|
+
buttonClassName?: string;
|
|
35
|
+
contentClassName?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Label shown before the limit value.
|
|
38
|
+
* @default "Result per page"
|
|
39
|
+
*/
|
|
40
|
+
label?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Callback when limit changes.
|
|
43
|
+
*/
|
|
44
|
+
onLimitChange?: (limit: number) => void;
|
|
45
|
+
};
|
|
46
|
+
export declare function DataTablePaginationLimits({ className, buttonClassName, contentClassName, label, onLimitChange, }: DataTablePaginationLimitsProps): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export type DataTablePaginationLinksProps = {
|
|
48
|
+
className?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Maximum number of page buttons to show.
|
|
51
|
+
* @default 7
|
|
52
|
+
*/
|
|
53
|
+
maxVisible?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Show previous/next navigation buttons.
|
|
56
|
+
* @default true
|
|
57
|
+
*/
|
|
58
|
+
showPrevNext?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Callback when page changes.
|
|
61
|
+
*/
|
|
62
|
+
onPageChange?: (page: number) => void;
|
|
63
|
+
};
|
|
64
|
+
export declare function DataTablePaginationLinks({ className, maxVisible, showPrevNext, onPageChange, }: DataTablePaginationLinksProps): import("react/jsx-runtime").JSX.Element;
|
|
65
|
+
export declare function DataTablePaginationActions({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
66
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/pagination/pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgD/B,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,wBAAwB,2CAa1B;AAMD,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IACvE;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACzE,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,4BAA4B,2CAiE9B;AAMD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,KAAyB,EACzB,aAAa,GACd,EAAE,8BAA8B,2CAiFhC;AAMD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,UAAc,EACd,YAAmB,EACnB,YAAY,GACb,EAAE,6BAA6B,2CAqI/B;AA2GD,wBAAgB,0BAA0B,CAAC,EACzC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B"}
|