@douglasneuroinformatics/libui 6.1.3 → 6.2.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.
@@ -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, onRowClick, onSearchChange, togglesComponent, ...props }: DataTableProps<T>) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const DataTable: <T extends RowData>({ emptyStateProps, onRowClick, onRowDoubleClick, 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,6EAM1C,cAAc,CAAC,CAAC,CAAC,4CAkBnB,CAAC;AAEF,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC"}
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,+FAO1C,cAAc,CAAC,CAAC,CAAC,4CAmBnB,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, onRowClick, onSearchChange, togglesComponent, ...props }) => {
6
+ export const DataTable = ({ emptyStateProps, onRowClick, onRowDoubleClick, 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, onRowClick: onRowClick, onSearchChange: onSearchChange }) }));
12
+ return (_jsx(DataTableContext.Provider, { value: { store: storeRef.current }, children: _jsx(DataTableContent, { emptyStateProps: emptyStateProps, togglesComponent: togglesComponent, onRowClick: onRowClick, onRowDoubleClick: onRowDoubleClick, 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,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
+ {"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,gBAAgB,EAChB,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,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,GAC9B,GACwB,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type React from 'react';
2
2
  import type { DataTableContentProps } from './types.ts';
3
- export declare const DataTableBody: React.FC<Pick<DataTableContentProps<any>, 'emptyStateProps' | 'onRowClick'>>;
3
+ export declare const DataTableBody: React.FC<Pick<DataTableContentProps<any>, 'emptyStateProps' | 'onRowClick' | 'onRowDoubleClick'>>;
4
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;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
+ {"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,CAClC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,YAAY,GAAG,kBAAkB,CAAC,CA+DxF,CAAC"}
@@ -4,7 +4,7 @@ import { cn } from '#utils';
4
4
  import { DataTableEmptyState } from "./DataTableEmptyState.js";
5
5
  import { useDataTableHandle } from "./hooks.js";
6
6
  import { flexRender } from "./utils.js";
7
- export const DataTableBody = ({ emptyStateProps, onRowClick }) => {
7
+ export const DataTableBody = ({ emptyStateProps, onRowClick, onRowDoubleClick }) => {
8
8
  const rows = useDataTableHandle('rows');
9
9
  const { t } = useTranslation();
10
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: {
@@ -14,7 +14,7 @@ export const DataTableBody = ({ emptyStateProps, onRowClick }) => {
14
14
  fr: 'Aucun résultat'
15
15
  }), ...emptyStateProps }) })) : (rows.map((row) => (
16
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) => {
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, onDoubleClick: onRowDoubleClick ? () => void onRowDoubleClick(row.original) : undefined, children: row.getVisibleCells().map((cell) => {
18
18
  const style = {
19
19
  width: `calc(var(--col-${cell.column.id}-size) * 1px)`
20
20
  };
@@ -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;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA2B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAa,CAAC;AAIzC,MAAM,CAAC,MAAM,aAAa,GAAiF,CAAC,EAC1G,eAAe,EACf,UAAU,EACX,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAE/B,OAAO,CACL,cAAK,SAAS,EAAC,eAAe,iBAAa,iBAAiB,YACzD,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,cACE,SAAS,EAAC,+DAA+D,EACzE,KAAK,EAAE;gBACL,KAAK,EAAE,0CAA0C;aAClD,YAED,KAAC,mBAAmB,IAClB,KAAK,EAAE,CAAC,CAAC;oBACP,EAAE,EAAE,YAAY;oBAChB,EAAE,EAAE,gBAAgB;iBACrB,CAAC,KACE,eAAe,GACnB,GACE,CACP,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;QAChB,0GAA0G;QAC1G,cACE,SAAS,EAAE,EAAE,CAAC,6CAA6C,EAAE,UAAU,IAAI,iBAAiB,CAAC,iBACjF,gBAAgB,EAC5B,EAAE,EAAE,GAAG,CAAC,EAAE,EAEV,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,YAEpE,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAwB;oBACjC,KAAK,EAAE,kBAAkB,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe;iBACvD,CAAC;gBACF,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;oBACzC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjD,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAC1B,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;gBACpB,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;oBACjD,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;oBACnD,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAC1B,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;gBACpB,CAAC;gBACD,kCAAkC;gBAClC,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1C,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC7B,CAAC;gBACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC1E,OAAO,CACL,cAAK,SAAS,EAAC,sDAAsD,EAAe,KAAK,EAAE,KAAK,YAC7F,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,gBAAgB,YAAE,OAAO,GAAQ,IAD5B,IAAI,CAAC,EAAE,CAE5E,CACP,CAAC;YACJ,CAAC,CAAC,IA3BG,GAAG,CAAC,EAAE,CA4BP,CACP,CAAC,CACH,GACG,CACP,CAAC;AACJ,CAAC,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, onRowClick, onSearchChange, togglesComponent }: DataTableContentProps<T>) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const DataTableContent: <T extends RowData>({ emptyStateProps, onRowClick, onRowDoubleClick, 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,mEAKjD,qBAAqB,CAAC,CAAC,CAAC,4CAoB1B,CAAC"}
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,qFAMjD,qBAAqB,CAAC,CAAC,CAAC,4CAwB1B,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, onRowClick, onSearchChange, togglesComponent }) => {
8
+ export const DataTableContent = ({ emptyStateProps, onRowClick, onRowDoubleClick, 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, onRowClick: onRowClick })] }) }), _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, onRowDoubleClick: onRowDoubleClick })] }) }), _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,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"}
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,gBAAgB,EAChB,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,IACZ,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,GAClC,IACE,GACF,EACN,KAAC,mBAAmB,KAAG,IACnB,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -33,6 +33,7 @@ export type DataTableProps<T extends RowData> = DataTableContentProps<T> & DataT
33
33
  export type DataTableContentProps<T extends RowData> = {
34
34
  emptyStateProps?: Partial<DataTableEmptyStateProps>;
35
35
  onRowClick?: (row: T) => Promisable<void>;
36
+ onRowDoubleClick?: (row: T) => Promisable<void>;
36
37
  onSearchChange?: SearchChangeHandler<NoInfer<T>>;
37
38
  togglesComponent?: React.FC<{
38
39
  table: Table<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/types.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.1.3",
4
+ "version": "6.2.0",
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",
@@ -129,7 +129,10 @@ export const Default: Story = {
129
129
  <Story
130
130
  args={{
131
131
  columns,
132
- data: tableData
132
+ data: tableData,
133
+ onRowDoubleClick(row) {
134
+ alert(`row with email ${row.email} double clicked`);
135
+ }
133
136
  }}
134
137
  />
135
138
  <div className="fixed bottom-0 py-2">
@@ -157,6 +160,9 @@ export const WithActions: Story = {
157
160
  }
158
161
  ],
159
162
  data: createData(100).map((payment) => ({ ...payment, notes: faker.lorem.paragraph() })),
163
+ onRowDoubleClick(row) {
164
+ alert(`row with email ${row.email} double clicked`);
165
+ },
160
166
  onSearchChange: () => {
161
167
  return;
162
168
  },
@@ -239,6 +245,9 @@ export const Grouped: Story = {
239
245
  }
240
246
  ],
241
247
  data: createData(100),
248
+ onRowDoubleClick(row) {
249
+ alert(`row with ID ${row.id} double clicked`);
250
+ },
242
251
  onSearchChange: () => {
243
252
  return;
244
253
  }
@@ -11,6 +11,7 @@ import type { DataTableProps } from './types.ts';
11
11
  export const DataTable = <T extends RowData>({
12
12
  emptyStateProps,
13
13
  onRowClick,
14
+ onRowDoubleClick,
14
15
  onSearchChange,
15
16
  togglesComponent,
16
17
  ...props
@@ -28,6 +29,7 @@ export const DataTable = <T extends RowData>({
28
29
  emptyStateProps={emptyStateProps}
29
30
  togglesComponent={togglesComponent}
30
31
  onRowClick={onRowClick}
32
+ onRowDoubleClick={onRowDoubleClick}
31
33
  onSearchChange={onSearchChange}
32
34
  />
33
35
  </DataTableContext.Provider>
@@ -9,10 +9,9 @@ import { flexRender } from './utils.tsx';
9
9
 
10
10
  import type { DataTableContentProps } from './types.ts';
11
11
 
12
- export const DataTableBody: React.FC<Pick<DataTableContentProps<any>, 'emptyStateProps' | 'onRowClick'>> = ({
13
- emptyStateProps,
14
- onRowClick
15
- }) => {
12
+ export const DataTableBody: React.FC<
13
+ Pick<DataTableContentProps<any>, 'emptyStateProps' | 'onRowClick' | 'onRowDoubleClick'>
14
+ > = ({ emptyStateProps, onRowClick, onRowDoubleClick }) => {
16
15
  const rows = useDataTableHandle('rows');
17
16
  const { t } = useTranslation();
18
17
 
@@ -42,6 +41,7 @@ export const DataTableBody: React.FC<Pick<DataTableContentProps<any>, 'emptyStat
42
41
  id={row.id}
43
42
  key={row.id}
44
43
  onClick={onRowClick ? () => void onRowClick(row.original) : undefined}
44
+ onDoubleClick={onRowDoubleClick ? () => void onRowDoubleClick(row.original) : undefined}
45
45
  >
46
46
  {row.getVisibleCells().map((cell) => {
47
47
  const style: React.CSSProperties = {
@@ -12,6 +12,7 @@ import type { DataTableContentProps } from './types.ts';
12
12
  export const DataTableContent = <T extends RowData>({
13
13
  emptyStateProps,
14
14
  onRowClick,
15
+ onRowDoubleClick,
15
16
  onSearchChange,
16
17
  togglesComponent
17
18
  }: DataTableContentProps<T>) => {
@@ -28,7 +29,11 @@ export const DataTableContent = <T extends RowData>({
28
29
  <div className="relative w-full overflow-auto rounded-md border" ref={containerRef}>
29
30
  <div className="flex min-w-full flex-col text-sm tracking-tight" style={style}>
30
31
  <DataTableHead />
31
- <DataTableBody emptyStateProps={emptyStateProps} onRowClick={onRowClick} />
32
+ <DataTableBody
33
+ emptyStateProps={emptyStateProps}
34
+ onRowClick={onRowClick}
35
+ onRowDoubleClick={onRowDoubleClick}
36
+ />
32
37
  </div>
33
38
  </div>
34
39
  <DataTablePagination />
@@ -57,6 +57,7 @@ export type DataTableProps<T extends RowData> = DataTableContentProps<T> & DataT
57
57
  export type DataTableContentProps<T extends RowData> = {
58
58
  emptyStateProps?: Partial<DataTableEmptyStateProps>;
59
59
  onRowClick?: (row: T) => Promisable<void>;
60
+ onRowDoubleClick?: (row: T) => Promisable<void>;
60
61
  onSearchChange?: SearchChangeHandler<NoInfer<T>>;
61
62
  togglesComponent?: React.FC<{ table: Table<T> }>;
62
63
  };