@douglasneuroinformatics/libui 6.0.0 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DataTable/DataTable.d.ts +1 -1
- package/dist/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/components/DataTable/DataTable.js +2 -2
- package/dist/components/DataTable/DataTable.js.map +1 -1
- package/dist/components/DataTable/DataTableBody.d.ts +2 -4
- package/dist/components/DataTable/DataTableBody.d.ts.map +1 -1
- package/dist/components/DataTable/DataTableBody.js +6 -3
- package/dist/components/DataTable/DataTableBody.js.map +1 -1
- package/dist/components/DataTable/DataTableContent.d.ts +1 -1
- package/dist/components/DataTable/DataTableContent.d.ts.map +1 -1
- package/dist/components/DataTable/DataTableContent.js +2 -2
- package/dist/components/DataTable/DataTableContent.js.map +1 -1
- package/dist/components/DataTable/store.js +1 -1
- package/dist/components/DataTable/store.js.map +1 -1
- package/dist/components/DataTable/types.d.ts +9 -0
- package/dist/components/DataTable/types.d.ts.map +1 -1
- package/dist/components/DataTable/utils.d.ts +2 -2
- package/dist/components/DataTable/utils.d.ts.map +1 -1
- package/dist/components/DataTable/utils.js +13 -6
- package/dist/components/DataTable/utils.js.map +1 -1
- package/dist/i18n/translator.d.ts.map +1 -1
- package/dist/i18n/translator.js +14 -0
- package/dist/i18n/translator.js.map +1 -1
- package/package.json +1 -1
- package/src/components/DataTable/DataTable.tsx +2 -0
- package/src/components/DataTable/DataTableBody.tsx +14 -9
- package/src/components/DataTable/DataTableContent.tsx +2 -1
- package/src/components/DataTable/store.ts +1 -1
- package/src/components/DataTable/types.ts +10 -0
- package/src/components/DataTable/utils.tsx +19 -7
- package/src/i18n/translator.ts +19 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RowData } from '@tanstack/table-core';
|
|
2
2
|
import type { DataTableProps } from './types.ts';
|
|
3
|
-
export declare const DataTable: <T extends RowData>({ emptyStateProps, onSearchChange, togglesComponent, ...props }: DataTableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const DataTable: <T extends RowData>({ emptyStateProps, onRowClick, onSearchChange, togglesComponent, ...props }: DataTableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
export * as TanstackTable from '@tanstack/table-core';
|
|
5
5
|
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAMpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAMpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,OAAO,EAAE,6EAM1C,cAAc,CAAC,CAAC,CAAC,4CAkBnB,CAAC;AAEF,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC"}
|
|
@@ -3,13 +3,13 @@ import { useEffect, useRef } from 'react';
|
|
|
3
3
|
import { DataTableContext } from "./context.js";
|
|
4
4
|
import { DataTableContent } from "./DataTableContent.js";
|
|
5
5
|
import { createDataTableStore } from "./store.js";
|
|
6
|
-
export const DataTable = ({ emptyStateProps, onSearchChange, togglesComponent, ...props }) => {
|
|
6
|
+
export const DataTable = ({ emptyStateProps, onRowClick, onSearchChange, togglesComponent, ...props }) => {
|
|
7
7
|
const storeRef = useRef(createDataTableStore(props));
|
|
8
8
|
useEffect(() => {
|
|
9
9
|
const { reset } = storeRef.current.getState();
|
|
10
10
|
reset(props);
|
|
11
11
|
}, [props]);
|
|
12
|
-
return (_jsx(DataTableContext.Provider, { value: { store: storeRef.current }, children: _jsx(DataTableContent, { emptyStateProps: emptyStateProps, togglesComponent: togglesComponent, onSearchChange: onSearchChange }) }));
|
|
12
|
+
return (_jsx(DataTableContext.Provider, { value: { store: storeRef.current }, children: _jsx(DataTableContent, { emptyStateProps: emptyStateProps, togglesComponent: togglesComponent, onRowClick: onRowClick, onSearchChange: onSearchChange }) }));
|
|
13
13
|
};
|
|
14
14
|
export * as TanstackTable from '@tanstack/table-core';
|
|
15
15
|
//# sourceMappingURL=DataTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAoB,EAC3C,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,GAAG,KAAK,EACU,EAAE,EAAE;IACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC9C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,YAC3D,KAAC,gBAAgB,IACf,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,GAC9B,GACwB,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAoB,EAC3C,eAAe,EACf,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,GAAG,KAAK,EACU,EAAE,EAAE;IACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC9C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,YAC3D,KAAC,gBAAgB,IACf,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAC9B,GACwB,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type {
|
|
3
|
-
export declare const DataTableBody: React.FC<
|
|
4
|
-
emptyStateProps?: Partial<DataTableEmptyStateProps>;
|
|
5
|
-
}>;
|
|
2
|
+
import type { DataTableContentProps } from './types.ts';
|
|
3
|
+
export declare const DataTableBody: React.FC<Pick<DataTableContentProps<any>, 'emptyStateProps' | 'onRowClick'>>;
|
|
6
4
|
//# sourceMappingURL=DataTableBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableBody.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableBody.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAC,CAgEtG,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation } from '#hooks';
|
|
3
|
+
import { cn } from '#utils';
|
|
3
4
|
import { DataTableEmptyState } from "./DataTableEmptyState.js";
|
|
4
5
|
import { useDataTableHandle } from "./hooks.js";
|
|
5
6
|
import { flexRender } from "./utils.js";
|
|
6
|
-
export const DataTableBody = ({ emptyStateProps }) => {
|
|
7
|
+
export const DataTableBody = ({ emptyStateProps, onRowClick }) => {
|
|
7
8
|
const rows = useDataTableHandle('rows');
|
|
8
9
|
const { t } = useTranslation();
|
|
9
10
|
return (_jsx("div", { className: "flex flex-col", "data-testid": "data-table-body", children: rows.length === 0 ? (_jsx("div", { className: "sticky left-0 flex h-72 items-center justify-center px-6 py-3", style: {
|
|
@@ -11,7 +12,9 @@ export const DataTableBody = ({ emptyStateProps }) => {
|
|
|
11
12
|
}, children: _jsx(DataTableEmptyState, { title: t({
|
|
12
13
|
en: 'No Results',
|
|
13
14
|
fr: 'Aucun résultat'
|
|
14
|
-
}), ...emptyStateProps }) })) : (rows.map((row) => (
|
|
15
|
+
}), ...emptyStateProps }) })) : (rows.map((row) => (
|
|
16
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
17
|
+
_jsx("div", { className: cn('bg-background flex border-b last:border-b-0', onRowClick && 'hover:bg-accent'), "data-testid": "data-table-row", id: row.id, onClick: onRowClick ? () => void onRowClick(row.original) : undefined, children: row.getVisibleCells().map((cell) => {
|
|
15
18
|
const style = {
|
|
16
19
|
width: `calc(var(--col-${cell.column.id}-size) * 1px)`
|
|
17
20
|
};
|
|
@@ -31,7 +34,7 @@ export const DataTableBody = ({ emptyStateProps }) => {
|
|
|
31
34
|
style.borderRight = 'none';
|
|
32
35
|
}
|
|
33
36
|
const content = flexRender(cell.column.columnDef.cell, cell.getContext());
|
|
34
|
-
return (_jsx("div", { className: "
|
|
37
|
+
return (_jsx("div", { className: "flex items-center border-r px-4 py-2 last:border-r-0", style: style, children: content && typeof content === 'object' ? content : _jsx("span", { className: "block truncate", children: content }) }, cell.id));
|
|
35
38
|
}) }, row.id)))) }));
|
|
36
39
|
};
|
|
37
40
|
//# sourceMappingURL=DataTableBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableBody.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableBody.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableBody.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableBody.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RowData } from '@tanstack/table-core';
|
|
2
2
|
import type { DataTableContentProps } from './types.ts';
|
|
3
|
-
export declare const DataTableContent: <T extends RowData>({ emptyStateProps, onSearchChange, togglesComponent }: DataTableContentProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const DataTableContent: <T extends RowData>({ emptyStateProps, onRowClick, onSearchChange, togglesComponent }: DataTableContentProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
//# sourceMappingURL=DataTableContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableContent.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AASpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DataTableContent.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AASpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,OAAO,EAAE,mEAKjD,qBAAqB,CAAC,CAAC,CAAC,4CAoB1B,CAAC"}
|
|
@@ -5,10 +5,10 @@ import { DataTableControls } from "./DataTableControls.js";
|
|
|
5
5
|
import { DataTableHead } from "./DataTableHead.js";
|
|
6
6
|
import { DataTablePagination } from "./DataTablePagination.js";
|
|
7
7
|
import { useContainerRef, useDataTableHandle, useDataTableStore } from "./hooks.js";
|
|
8
|
-
export const DataTableContent = ({ emptyStateProps, onSearchChange, togglesComponent }) => {
|
|
8
|
+
export const DataTableContent = ({ emptyStateProps, onRowClick, onSearchChange, togglesComponent }) => {
|
|
9
9
|
const containerRef = useContainerRef();
|
|
10
10
|
const meta = useDataTableHandle('tableMeta');
|
|
11
11
|
const style = useDataTableStore((state) => state.style);
|
|
12
|
-
return (_jsxs("div", { className: "bg-background flex w-full flex-col", "data-name": meta[TABLE_NAME_METADATA_KEY], "data-testid": "data-table", children: [_jsx(DataTableControls, { togglesComponent: togglesComponent, onSearchChange: onSearchChange }), _jsx("div", { className: "relative w-full overflow-auto rounded-md border", ref: containerRef, children: _jsxs("div", { className: "flex min-w-full flex-col text-sm tracking-tight", style: style, children: [_jsx(DataTableHead, {}), _jsx(DataTableBody, { emptyStateProps: emptyStateProps })] }) }), _jsx(DataTablePagination, {})] }));
|
|
12
|
+
return (_jsxs("div", { className: "bg-background flex w-full flex-col", "data-name": meta[TABLE_NAME_METADATA_KEY], "data-testid": "data-table", children: [_jsx(DataTableControls, { togglesComponent: togglesComponent, onSearchChange: onSearchChange }), _jsx("div", { className: "relative w-full overflow-auto rounded-md border", ref: containerRef, children: _jsxs("div", { className: "flex min-w-full flex-col text-sm tracking-tight", style: style, children: [_jsx(DataTableHead, {}), _jsx(DataTableBody, { emptyStateProps: emptyStateProps, onRowClick: onRowClick })] }) }), _jsx(DataTablePagination, {})] }));
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=DataTableContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableContent.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableContent.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAoB,EAClD,eAAe,EACf,cAAc,EACd,gBAAgB,EACS,EAAE,EAAE;IAC7B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,CACL,eACE,SAAS,EAAC,oCAAoC,eACnC,IAAI,CAAC,uBAAuB,CAAC,iBAC5B,YAAY,aAExB,KAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,GAAI,EACzF,cAAK,SAAS,EAAC,iDAAiD,EAAC,GAAG,EAAE,YAAY,YAChF,eAAK,SAAS,EAAC,iDAAiD,EAAC,KAAK,EAAE,KAAK,aAC3E,KAAC,aAAa,KAAG,EACjB,KAAC,aAAa,IAAC,eAAe,EAAE,eAAe,GAAI,
|
|
1
|
+
{"version":3,"file":"DataTableContent.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableContent.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAoB,EAClD,eAAe,EACf,UAAU,EACV,cAAc,EACd,gBAAgB,EACS,EAAE,EAAE;IAC7B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,CACL,eACE,SAAS,EAAC,oCAAoC,eACnC,IAAI,CAAC,uBAAuB,CAAC,iBAC5B,YAAY,aAExB,KAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,GAAI,EACzF,cAAK,SAAS,EAAC,iDAAiD,EAAC,GAAG,EAAE,YAAY,YAChF,eAAK,SAAS,EAAC,iDAAiD,EAAC,KAAK,EAAE,KAAK,aAC3E,KAAC,aAAa,KAAG,EACjB,KAAC,aAAa,IAAC,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAAI,IACvE,GACF,EACN,KAAC,mBAAmB,KAAG,IACnB,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -23,7 +23,7 @@ export function createDataTableStore(params) {
|
|
|
23
23
|
if (!_containerWidth) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
setTableState('columnSizing', calculateColumnSizing(table, _containerWidth));
|
|
26
|
+
setTableState('columnSizing', calculateColumnSizing(table, _containerWidth, params.columnBreakpoints));
|
|
27
27
|
};
|
|
28
28
|
const updateStyle = () => {
|
|
29
29
|
set((state) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/components/DataTable/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,YAAa,CAAC;AAIrB,MAAM,UAAU,oBAAoB,CAAI,MAA+B;IACrE,OAAO,WAAW,CAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,iBAAiB,GAAG,CAAgD,IAAmB,EAAE,EAAE;YAC/F,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACZ,CAAC,IAAI,IAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAChE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;gBACnC,CAAC,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAgC,GAAS,EAAE,cAAyC,EAAE,EAAE;YAC5G,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC9B,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,aAAa,CAAC,cAAc,EAAE,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/components/DataTable/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,13 @@ declare module '@tanstack/table-core' {
|
|
|
17
17
|
globalFilter: GlobalFilter;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
+
export type DataTableColumnBreakpoints = {
|
|
21
|
+
0: number;
|
|
22
|
+
512: number;
|
|
23
|
+
768: number;
|
|
24
|
+
1024: number;
|
|
25
|
+
1280: number;
|
|
26
|
+
};
|
|
20
27
|
export type DataTableInitialState = {
|
|
21
28
|
columnFilters?: ColumnFiltersState;
|
|
22
29
|
columnPinning?: ColumnPinningState;
|
|
@@ -25,6 +32,7 @@ export type DataTableInitialState = {
|
|
|
25
32
|
export type DataTableProps<T extends RowData> = DataTableContentProps<T> & DataTableStoreParams<T>;
|
|
26
33
|
export type DataTableContentProps<T extends RowData> = {
|
|
27
34
|
emptyStateProps?: Partial<DataTableEmptyStateProps>;
|
|
35
|
+
onRowClick?: (row: T) => Promisable<void>;
|
|
28
36
|
onSearchChange?: SearchChangeHandler<NoInfer<T>>;
|
|
29
37
|
togglesComponent?: React.FC<{
|
|
30
38
|
table: Table<T>;
|
|
@@ -62,6 +70,7 @@ export type DataTableStore = {
|
|
|
62
70
|
style: React.CSSProperties;
|
|
63
71
|
};
|
|
64
72
|
export type DataTableStoreParams<T extends RowData> = {
|
|
73
|
+
columnBreakpoints?: DataTableColumnBreakpoints;
|
|
65
74
|
columns: ColumnDef<NoInfer<T>>[];
|
|
66
75
|
data: T[];
|
|
67
76
|
initialState?: DataTableInitialState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,GAAG,EACH,OAAO,EACP,YAAY,EACZ,KAAK,EACL,SAAS,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,QAAQ,sBAAsB,CAAC;IAEpC,UAAiB,UAAU,CAAC,KAAK,EAAE,MAAM;QACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB;IAED,KAAY,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IAG9C,UAAiB,SAAS,CAAC,KAAK,SAAS,OAAO;QAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QACvB,CAAC,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC;KACpC;IAGD,UAAiB,UAAU;QACzB,YAAY,EAAE,YAAY,CAAC;KAC5B;CACF;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAEnG,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,OAAO,IAAI;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAClE,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,OAAO,IAAI;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;QACzB,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,cAAc,EAAE;YACd,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;KAC3B,CAAC,CAAC;IACH,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACnD,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,OAAO,IAAI;IACpD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG;IAClE,UAAU,IAAI,IAAI,CAAC;IACnB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,GAAG,EACH,OAAO,EACP,YAAY,EACZ,KAAK,EACL,SAAS,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,QAAQ,sBAAsB,CAAC;IAEpC,UAAiB,UAAU,CAAC,KAAK,EAAE,MAAM;QACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB;IAED,KAAY,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IAG9C,UAAiB,SAAS,CAAC,KAAK,SAAS,OAAO;QAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QACvB,CAAC,wBAAwB,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC;KACpC;IAGD,UAAiB,UAAU;QACzB,YAAY,EAAE,YAAY,CAAC;KAC5B;CACF;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAEnG,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,OAAO,IAAI;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAClE,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,OAAO,IAAI;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;QACzB,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,cAAc,EAAE;YACd,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;KAC3B,CAAC,CAAC;IACH,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACnD,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,OAAO,IAAI;IACpD,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG;IAClE,UAAU,IAAI,IAAI,CAAC;IACnB,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ColumnDef, ColumnSizingState, RowData, Table, TableState, Updater } from '@tanstack/table-core';
|
|
2
|
-
import type { DataTableStoreParams, MemoizedHandle } from './types.ts';
|
|
2
|
+
import type { DataTableColumnBreakpoints, DataTableStoreParams, MemoizedHandle } from './types.ts';
|
|
3
3
|
declare function applyUpdater<T>(updater: Updater<T>, current: T): T;
|
|
4
|
-
declare function calculateColumnSizing(table: Table<any>, containerWidth: number): ColumnSizingState;
|
|
4
|
+
declare function calculateColumnSizing(table: Table<any>, containerWidth: number, breakpoints?: DataTableColumnBreakpoints): ColumnSizingState;
|
|
5
5
|
declare function defineMemoizedHandle<T extends (...args: any[]) => any>(target: T): MemoizedHandle<T>;
|
|
6
6
|
declare function flexRender<TProps extends object>(Comp: React.ComponentType<TProps> | React.ReactNode, props: TProps): React.JSX.Element | React.ReactNode;
|
|
7
7
|
declare function getColumnsWithActions<T extends RowData>({ columns, rowActions }: DataTableStoreParams<T>): ColumnDef<T>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAM9G,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAM9G,OAAO,KAAK,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUnG,iBAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAE3D;AAED,iBAAS,qBAAqB,CAC5B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,0BAAuD,qBA+CrE;AAED,iBAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,CAAC,qBAOzE;AAED,iBAAS,UAAU,CAAC,MAAM,SAAS,MAAM,EACvC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,EACnD,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAErC;AAED,iBAAS,qBAAqB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAclH;AAED,iBAAS,qBAAqB,CAAC,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,UAAU,CAgCnG;AAMD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,qBAAqB,EACrB,qBAAqB,EACtB,CAAC"}
|
|
@@ -2,10 +2,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { sum } from 'lodash-es';
|
|
3
3
|
import { ACTIONS_COLUMN_ID, MEMOIZED_HANDLE_ID } from "./constants.js";
|
|
4
4
|
import { DataTableRowActionCell } from "./DataTableRowActionCell.js";
|
|
5
|
+
const DEFAULT_COLUMN_BREAKPOINTS = {
|
|
6
|
+
0: 1,
|
|
7
|
+
512: 2,
|
|
8
|
+
768: 3,
|
|
9
|
+
1024: 4,
|
|
10
|
+
1280: 5
|
|
11
|
+
};
|
|
5
12
|
function applyUpdater(updater, current) {
|
|
6
13
|
return typeof updater === 'function' ? updater(current) : updater;
|
|
7
14
|
}
|
|
8
|
-
function calculateColumnSizing(table, containerWidth) {
|
|
15
|
+
function calculateColumnSizing(table, containerWidth, breakpoints = DEFAULT_COLUMN_BREAKPOINTS) {
|
|
9
16
|
const updatedColumnSizing = {};
|
|
10
17
|
const visibleCenterLeafColumns = table.getCenterLeafColumns().filter((column) => column.getIsVisible());
|
|
11
18
|
const visibleCenterLeafColumnIds = visibleCenterLeafColumns.map((column) => column.id);
|
|
@@ -26,19 +33,19 @@ function calculateColumnSizing(table, containerWidth) {
|
|
|
26
33
|
const availableCenterSize = containerWidth - nonCenteredColumnsSize;
|
|
27
34
|
let maxCenterColumns;
|
|
28
35
|
if (containerWidth < 512) {
|
|
29
|
-
maxCenterColumns =
|
|
36
|
+
maxCenterColumns = breakpoints[0];
|
|
30
37
|
}
|
|
31
38
|
else if (containerWidth < 768) {
|
|
32
|
-
maxCenterColumns =
|
|
39
|
+
maxCenterColumns = breakpoints[512];
|
|
33
40
|
}
|
|
34
41
|
else if (containerWidth < 1024) {
|
|
35
|
-
maxCenterColumns =
|
|
42
|
+
maxCenterColumns = breakpoints[768];
|
|
36
43
|
}
|
|
37
44
|
else if (containerWidth < 1280) {
|
|
38
|
-
maxCenterColumns =
|
|
45
|
+
maxCenterColumns = breakpoints[1024];
|
|
39
46
|
}
|
|
40
47
|
else {
|
|
41
|
-
maxCenterColumns =
|
|
48
|
+
maxCenterColumns = breakpoints[1280];
|
|
42
49
|
}
|
|
43
50
|
const centerColumnsToDisplay = Math.min(visibleCenterLeafColumns.length, maxCenterColumns);
|
|
44
51
|
if (centerColumnsToDisplay) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/DataTable/utils.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA8B,CAAC;AAItE,SAAS,YAAY,CAAI,OAAmB,EAAE,OAAU;IACtD,OAAO,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAE,OAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACxF,CAAC;AAED,SAAS,qBAAqB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/DataTable/utils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../src/i18n/translator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,OAAO,KAAK,EACV,QAAQ,EAER,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,KAAK,kBAAkB,GAAG;IACxB,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;CAClD,CAAC;AAgBF,qBAAa,UAAW,YAAW,cAAc,CAAC,cAAc,CAAC;;;
|
|
1
|
+
{"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../src/i18n/translator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,OAAO,KAAK,EACV,QAAQ,EAER,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,KAAK,kBAAkB,GAAG;IACxB,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;CAClD,CAAC;AAgBF,qBAAa,UAAW,YAAW,cAAc,CAAC,cAAc,CAAC;;;IAmC/D,IAAI,aAAa,YAEhB;IAED,IACI,gBAAgB,gBAEnB;IAED,gBAAgB,CAAC,IAAI,SAAS,MAAM,kBAAkB,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAKpG,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAQjC,IAAI,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE,gBAAgB;IAcxD,mBAAmB,CAAC,IAAI,SAAS,MAAM,kBAAkB,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAKvG,CAAC,CAAC,MAAM,EAAE,cAAc,GAAG;SAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,MAAM;KAAE,EAAE,EAAE,IAAI,EAAE,GAAE,gBAAqB,GAAG,MAAM;IAkBjG,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;CAWtB"}
|
package/dist/i18n/translator.js
CHANGED
|
@@ -71,6 +71,20 @@ let Translator = (() => {
|
|
|
71
71
|
languageChange: new Set()
|
|
72
72
|
};
|
|
73
73
|
this.#resolvedLanguage = null;
|
|
74
|
+
const globalKey = '__LIBUI_TRANSLATOR_INSTANCES__';
|
|
75
|
+
const globalObj = globalThis;
|
|
76
|
+
globalObj[globalKey] ??= [];
|
|
77
|
+
globalObj[globalKey].push(this);
|
|
78
|
+
if (globalObj[globalKey].length > 0) {
|
|
79
|
+
console.warn(`WARNING: Multiple Translator instances detected (existing: ${globalObj[globalKey].length})`);
|
|
80
|
+
// Check if prototypes are the same (can occur if multiple library versions are loaded)
|
|
81
|
+
const differentPrototype = globalObj[globalKey].some((inst) => {
|
|
82
|
+
return Object.getPrototypeOf(inst) !== Object.getPrototypeOf(this);
|
|
83
|
+
});
|
|
84
|
+
if (differentPrototype) {
|
|
85
|
+
console.warn('WARNING: Detected different prototypes for Translator instances.');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
74
88
|
}
|
|
75
89
|
get isInitialized() {
|
|
76
90
|
return this.#config !== null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translator.js","sourceRoot":"","sources":["../../src/i18n/translator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGhC,OAAO,KAAK,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAoBpE,SAAS,eAAe,CACtB,MAA4C,EAC5C,OAAyG;IAEzG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACrC,SAAS,iBAAiB,CAAU,GAAG,IAAW;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,KAAK,IAAI,gDAAgD,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;IAEY,UAAU;;;;;iBAAV,UAAU;;;
|
|
1
|
+
{"version":3,"file":"translator.js","sourceRoot":"","sources":["../../src/i18n/translator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@douglasneuroinformatics/libui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.
|
|
4
|
+
"version": "6.1.1",
|
|
5
5
|
"packageManager": "pnpm@10.7.1",
|
|
6
6
|
"description": "Generic UI components for DNP projects, built using React and Tailwind CSS",
|
|
7
7
|
"author": "Joshua Unrau",
|
|
@@ -10,6 +10,7 @@ import type { DataTableProps } from './types.ts';
|
|
|
10
10
|
|
|
11
11
|
export const DataTable = <T extends RowData>({
|
|
12
12
|
emptyStateProps,
|
|
13
|
+
onRowClick,
|
|
13
14
|
onSearchChange,
|
|
14
15
|
togglesComponent,
|
|
15
16
|
...props
|
|
@@ -26,6 +27,7 @@ export const DataTable = <T extends RowData>({
|
|
|
26
27
|
<DataTableContent
|
|
27
28
|
emptyStateProps={emptyStateProps}
|
|
28
29
|
togglesComponent={togglesComponent}
|
|
30
|
+
onRowClick={onRowClick}
|
|
29
31
|
onSearchChange={onSearchChange}
|
|
30
32
|
/>
|
|
31
33
|
</DataTableContext.Provider>
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
|
|
3
3
|
import { useTranslation } from '#hooks';
|
|
4
|
+
import { cn } from '#utils';
|
|
4
5
|
|
|
5
6
|
import { DataTableEmptyState } from './DataTableEmptyState.tsx';
|
|
6
7
|
import { useDataTableHandle } from './hooks.ts';
|
|
7
8
|
import { flexRender } from './utils.tsx';
|
|
8
9
|
|
|
9
|
-
import type {
|
|
10
|
+
import type { DataTableContentProps } from './types.ts';
|
|
10
11
|
|
|
11
|
-
export const DataTableBody: React.FC<
|
|
12
|
-
emptyStateProps
|
|
12
|
+
export const DataTableBody: React.FC<Pick<DataTableContentProps<any>, 'emptyStateProps' | 'onRowClick'>> = ({
|
|
13
|
+
emptyStateProps,
|
|
14
|
+
onRowClick
|
|
13
15
|
}) => {
|
|
14
16
|
const rows = useDataTableHandle('rows');
|
|
15
17
|
const { t } = useTranslation();
|
|
@@ -33,7 +35,14 @@ export const DataTableBody: React.FC<{ emptyStateProps?: Partial<DataTableEmptyS
|
|
|
33
35
|
</div>
|
|
34
36
|
) : (
|
|
35
37
|
rows.map((row) => (
|
|
36
|
-
|
|
38
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
39
|
+
<div
|
|
40
|
+
className={cn('bg-background flex border-b last:border-b-0', onRowClick && 'hover:bg-accent')}
|
|
41
|
+
data-testid="data-table-row"
|
|
42
|
+
id={row.id}
|
|
43
|
+
key={row.id}
|
|
44
|
+
onClick={onRowClick ? () => void onRowClick(row.original) : undefined}
|
|
45
|
+
>
|
|
37
46
|
{row.getVisibleCells().map((cell) => {
|
|
38
47
|
const style: React.CSSProperties = {
|
|
39
48
|
width: `calc(var(--col-${cell.column.id}-size) * 1px)`
|
|
@@ -54,11 +63,7 @@ export const DataTableBody: React.FC<{ emptyStateProps?: Partial<DataTableEmptyS
|
|
|
54
63
|
}
|
|
55
64
|
const content = flexRender(cell.column.columnDef.cell, cell.getContext());
|
|
56
65
|
return (
|
|
57
|
-
<div
|
|
58
|
-
className="bg-background flex items-center border-r px-4 py-2 last:border-r-0"
|
|
59
|
-
key={cell.id}
|
|
60
|
-
style={style}
|
|
61
|
-
>
|
|
66
|
+
<div className="flex items-center border-r px-4 py-2 last:border-r-0" key={cell.id} style={style}>
|
|
62
67
|
{content && typeof content === 'object' ? content : <span className="block truncate">{content}</span>}
|
|
63
68
|
</div>
|
|
64
69
|
);
|
|
@@ -11,6 +11,7 @@ import type { DataTableContentProps } from './types.ts';
|
|
|
11
11
|
|
|
12
12
|
export const DataTableContent = <T extends RowData>({
|
|
13
13
|
emptyStateProps,
|
|
14
|
+
onRowClick,
|
|
14
15
|
onSearchChange,
|
|
15
16
|
togglesComponent
|
|
16
17
|
}: DataTableContentProps<T>) => {
|
|
@@ -27,7 +28,7 @@ export const DataTableContent = <T extends RowData>({
|
|
|
27
28
|
<div className="relative w-full overflow-auto rounded-md border" ref={containerRef}>
|
|
28
29
|
<div className="flex min-w-full flex-col text-sm tracking-tight" style={style}>
|
|
29
30
|
<DataTableHead />
|
|
30
|
-
<DataTableBody emptyStateProps={emptyStateProps} />
|
|
31
|
+
<DataTableBody emptyStateProps={emptyStateProps} onRowClick={onRowClick} />
|
|
31
32
|
</div>
|
|
32
33
|
</div>
|
|
33
34
|
<DataTablePagination />
|
|
@@ -43,7 +43,7 @@ export function createDataTableStore<T>(params: DataTableStoreParams<T>) {
|
|
|
43
43
|
if (!_containerWidth) {
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
setTableState('columnSizing', calculateColumnSizing(table, _containerWidth));
|
|
46
|
+
setTableState('columnSizing', calculateColumnSizing(table, _containerWidth, params.columnBreakpoints));
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
const updateStyle = () => {
|
|
@@ -38,6 +38,14 @@ declare module '@tanstack/table-core' {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
export type DataTableColumnBreakpoints = {
|
|
42
|
+
0: number;
|
|
43
|
+
512: number;
|
|
44
|
+
768: number;
|
|
45
|
+
1024: number;
|
|
46
|
+
1280: number;
|
|
47
|
+
};
|
|
48
|
+
|
|
41
49
|
export type DataTableInitialState = {
|
|
42
50
|
columnFilters?: ColumnFiltersState;
|
|
43
51
|
columnPinning?: ColumnPinningState;
|
|
@@ -48,6 +56,7 @@ export type DataTableProps<T extends RowData> = DataTableContentProps<T> & DataT
|
|
|
48
56
|
|
|
49
57
|
export type DataTableContentProps<T extends RowData> = {
|
|
50
58
|
emptyStateProps?: Partial<DataTableEmptyStateProps>;
|
|
59
|
+
onRowClick?: (row: T) => Promisable<void>;
|
|
51
60
|
onSearchChange?: SearchChangeHandler<NoInfer<T>>;
|
|
52
61
|
togglesComponent?: React.FC<{ table: Table<T> }>;
|
|
53
62
|
};
|
|
@@ -85,6 +94,7 @@ export type DataTableStore = {
|
|
|
85
94
|
};
|
|
86
95
|
|
|
87
96
|
export type DataTableStoreParams<T extends RowData> = {
|
|
97
|
+
columnBreakpoints?: DataTableColumnBreakpoints;
|
|
88
98
|
columns: ColumnDef<NoInfer<T>>[];
|
|
89
99
|
data: T[];
|
|
90
100
|
initialState?: DataTableInitialState;
|
|
@@ -4,13 +4,25 @@ import { sum } from 'lodash-es';
|
|
|
4
4
|
import { ACTIONS_COLUMN_ID, MEMOIZED_HANDLE_ID } from './constants.ts';
|
|
5
5
|
import { DataTableRowActionCell } from './DataTableRowActionCell.tsx';
|
|
6
6
|
|
|
7
|
-
import type { DataTableStoreParams, MemoizedHandle } from './types.ts';
|
|
7
|
+
import type { DataTableColumnBreakpoints, DataTableStoreParams, MemoizedHandle } from './types.ts';
|
|
8
|
+
|
|
9
|
+
const DEFAULT_COLUMN_BREAKPOINTS: DataTableColumnBreakpoints = {
|
|
10
|
+
0: 1,
|
|
11
|
+
512: 2,
|
|
12
|
+
768: 3,
|
|
13
|
+
1024: 4,
|
|
14
|
+
1280: 5
|
|
15
|
+
};
|
|
8
16
|
|
|
9
17
|
function applyUpdater<T>(updater: Updater<T>, current: T): T {
|
|
10
18
|
return typeof updater === 'function' ? (updater as (prev: T) => T)(current) : updater;
|
|
11
19
|
}
|
|
12
20
|
|
|
13
|
-
function calculateColumnSizing(
|
|
21
|
+
function calculateColumnSizing(
|
|
22
|
+
table: Table<any>,
|
|
23
|
+
containerWidth: number,
|
|
24
|
+
breakpoints: DataTableColumnBreakpoints = DEFAULT_COLUMN_BREAKPOINTS
|
|
25
|
+
) {
|
|
14
26
|
const updatedColumnSizing: ColumnSizingState = {};
|
|
15
27
|
|
|
16
28
|
const visibleCenterLeafColumns = table.getCenterLeafColumns().filter((column) => column.getIsVisible());
|
|
@@ -33,15 +45,15 @@ function calculateColumnSizing(table: Table<any>, containerWidth: number) {
|
|
|
33
45
|
const availableCenterSize = containerWidth - nonCenteredColumnsSize;
|
|
34
46
|
let maxCenterColumns: number;
|
|
35
47
|
if (containerWidth < 512) {
|
|
36
|
-
maxCenterColumns =
|
|
48
|
+
maxCenterColumns = breakpoints[0];
|
|
37
49
|
} else if (containerWidth < 768) {
|
|
38
|
-
maxCenterColumns =
|
|
50
|
+
maxCenterColumns = breakpoints[512];
|
|
39
51
|
} else if (containerWidth < 1024) {
|
|
40
|
-
maxCenterColumns =
|
|
52
|
+
maxCenterColumns = breakpoints[768];
|
|
41
53
|
} else if (containerWidth < 1280) {
|
|
42
|
-
maxCenterColumns =
|
|
54
|
+
maxCenterColumns = breakpoints[1024];
|
|
43
55
|
} else {
|
|
44
|
-
maxCenterColumns =
|
|
56
|
+
maxCenterColumns = breakpoints[1280];
|
|
45
57
|
}
|
|
46
58
|
|
|
47
59
|
const centerColumnsToDisplay = Math.min(visibleCenterLeafColumns.length, maxCenterColumns);
|
package/src/i18n/translator.ts
CHANGED
|
@@ -50,6 +50,25 @@ export class Translator implements TranslatorType<TranslationKey> {
|
|
|
50
50
|
languageChange: new Set()
|
|
51
51
|
};
|
|
52
52
|
this.#resolvedLanguage = null!;
|
|
53
|
+
|
|
54
|
+
const globalKey = '__LIBUI_TRANSLATOR_INSTANCES__';
|
|
55
|
+
const globalObj = globalThis as { [globalKey]?: Translator[] } & typeof window;
|
|
56
|
+
|
|
57
|
+
globalObj[globalKey] ??= [];
|
|
58
|
+
globalObj[globalKey].push(this);
|
|
59
|
+
|
|
60
|
+
if (globalObj[globalKey].length > 0) {
|
|
61
|
+
console.warn(`WARNING: Multiple Translator instances detected (existing: ${globalObj[globalKey].length})`);
|
|
62
|
+
|
|
63
|
+
// Check if prototypes are the same (can occur if multiple library versions are loaded)
|
|
64
|
+
const differentPrototype = globalObj[globalKey].some((inst) => {
|
|
65
|
+
return Object.getPrototypeOf(inst) !== Object.getPrototypeOf(this);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
if (differentPrototype) {
|
|
69
|
+
console.warn('WARNING: Detected different prototypes for Translator instances.');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
53
72
|
}
|
|
54
73
|
|
|
55
74
|
get isInitialized() {
|