@bioturing/components 0.47.0 → 0.48.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.
Files changed (66) hide show
  1. package/dist/components/base-menu/index.d.ts +1 -1
  2. package/dist/components/base-menu/index.d.ts.map +1 -1
  3. package/dist/components/base-menu/item.css +1 -1
  4. package/dist/components/base-menu/item.d.ts +13 -2
  5. package/dist/components/base-menu/item.d.ts.map +1 -1
  6. package/dist/components/base-menu/item.js +62 -47
  7. package/dist/components/base-menu/item.js.map +1 -1
  8. package/dist/components/base-menu/style.css +1 -1
  9. package/dist/components/combobox/component.d.ts.map +1 -1
  10. package/dist/components/combobox/component.js +121 -121
  11. package/dist/components/combobox/component.js.map +1 -1
  12. package/dist/components/combobox/style.css +1 -1
  13. package/dist/components/data-table/component.d.ts.map +1 -1
  14. package/dist/components/data-table/component.js +81 -70
  15. package/dist/components/data-table/component.js.map +1 -1
  16. package/dist/components/data-table/components/TableBody.d.ts +3 -2
  17. package/dist/components/data-table/components/TableBody.d.ts.map +1 -1
  18. package/dist/components/data-table/components/TableBody.js +107 -99
  19. package/dist/components/data-table/components/TableBody.js.map +1 -1
  20. package/dist/components/data-table/components/TableHeader.d.ts +3 -1
  21. package/dist/components/data-table/components/TableHeader.d.ts.map +1 -1
  22. package/dist/components/data-table/components/TableHeader.js +121 -93
  23. package/dist/components/data-table/components/TableHeader.js.map +1 -1
  24. package/dist/components/data-table/components/TablePagination.d.ts.map +1 -1
  25. package/dist/components/data-table/components/TablePagination.js +32 -21
  26. package/dist/components/data-table/components/TablePagination.js.map +1 -1
  27. package/dist/components/data-table/hooks.d.ts.map +1 -1
  28. package/dist/components/data-table/hooks.js +98 -84
  29. package/dist/components/data-table/hooks.js.map +1 -1
  30. package/dist/components/data-table/style.css +1 -1
  31. package/dist/components/data-table/utils.js +37 -30
  32. package/dist/components/data-table/utils.js.map +1 -1
  33. package/dist/components/dropdown-menu/component.d.ts.map +1 -1
  34. package/dist/components/dropdown-menu/component.js +121 -144
  35. package/dist/components/dropdown-menu/component.js.map +1 -1
  36. package/dist/components/dropdown-menu/index.d.ts +2 -0
  37. package/dist/components/dropdown-menu/index.d.ts.map +1 -1
  38. package/dist/components/dropdown-menu/item.d.ts +7 -15
  39. package/dist/components/dropdown-menu/item.d.ts.map +1 -1
  40. package/dist/components/dropdown-menu/item.js +132 -81
  41. package/dist/components/dropdown-menu/item.js.map +1 -1
  42. package/dist/components/dropdown-menu/radio-group.d.ts +14 -0
  43. package/dist/components/dropdown-menu/radio-group.d.ts.map +1 -0
  44. package/dist/components/dropdown-menu/radio-group.js +45 -0
  45. package/dist/components/dropdown-menu/radio-group.js.map +1 -0
  46. package/dist/components/dropdown-menu/search-mode.d.ts +4 -0
  47. package/dist/components/dropdown-menu/search-mode.d.ts.map +1 -0
  48. package/dist/components/dropdown-menu/search-mode.js +6 -0
  49. package/dist/components/dropdown-menu/search-mode.js.map +1 -0
  50. package/dist/components/dropdown-menu/style.css +1 -1
  51. package/dist/components/dropdown-menu/submenu.d.ts +25 -0
  52. package/dist/components/dropdown-menu/submenu.d.ts.map +1 -0
  53. package/dist/components/dropdown-menu/submenu.js +96 -0
  54. package/dist/components/dropdown-menu/submenu.js.map +1 -0
  55. package/dist/components/dropdown-menu/types.d.ts +85 -12
  56. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  57. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +4 -8
  58. package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -1
  59. package/dist/components/dropdown-menu/useDropdownMenu.js +108 -81
  60. package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
  61. package/dist/components/select/component.js +29 -29
  62. package/dist/components/select/component.js.map +1 -1
  63. package/dist/index.js +278 -274
  64. package/dist/index.js.map +1 -1
  65. package/dist/stats.html +1 -1
  66. package/package.json +1 -1
@@ -1,83 +1,92 @@
1
1
  "use client";
2
- import { jsx as o, jsxs as p } from "react/jsx-runtime";
3
- import { forwardRef as x, useRef as g, useState as H, useEffect as h } from "react";
4
- import { Spin as N } from "../spin/component.js";
5
- import { useDataTable as W } from "./hooks.js";
6
- import { convertSelectionToAntFormat as I } from "./utils.js";
2
+ import { jsx as o, jsxs as h } from "react/jsx-runtime";
3
+ import { forwardRef as k, useRef as y, useState as B, useEffect as w } from "react";
4
+ import { Spin as E } from "../spin/component.js";
5
+ import { useDataTable as F } from "./hooks.js";
6
+ import { convertSelectionToAntFormat as $ } from "./utils.js";
7
7
  import './variant-minimal.css';import './variant-zebra.css';import './style.css';/* empty css */
8
8
  /* empty css */
9
9
  /* empty css */
10
- import { TableHeader as P } from "./components/TableHeader.js";
11
- import { TableBody as k } from "./components/TableBody.js";
12
- import { TablePagination as j } from "./components/TablePagination.js";
13
- import { useCls as B } from "../utils/antdUtils.js";
14
- import { clsx as E } from "../utils/cn.js";
15
- const F = (d, A) => {
10
+ import { TableHeader as A } from "./components/TableHeader.js";
11
+ import { TableBody as G } from "./components/TableBody.js";
12
+ import { TablePagination as K } from "./components/TablePagination.js";
13
+ import { useCls as L } from "../utils/antdUtils.js";
14
+ import { clsx as M } from "../utils/cn.js";
15
+ const U = (m, J) => {
16
16
  const {
17
17
  dataSource: i = [],
18
- className: S,
19
- size: y = "large",
20
- variant: m = "default",
21
- emptyDescription: z,
22
- rowKey: c
23
- } = d, e = B(), w = g(null), {
18
+ className: z,
19
+ size: R = "large",
20
+ variant: u = "default",
21
+ emptyDescription: v,
22
+ rowKey: c,
23
+ onRow: T,
24
+ onHeaderRow: C,
25
+ locale: s
26
+ } = m, e = L(), x = y(null), {
24
27
  table: a,
25
- isLoading: v,
26
- spinProps: R,
27
- hasRowSelection: u,
28
- hasPagination: f,
29
- paginationConfig: C,
30
- rowSelectionConfig: n
31
- } = W(d), T = (t) => {
32
- if (u && (t.toggleSelected(), n?.onSelect)) {
33
- const { selectedRows: l } = I(
34
- a.getState().rowSelection,
35
- i,
36
- c
37
- );
38
- n.onSelect(
39
- t.original,
40
- !t.getIsSelected(),
41
- l,
42
- new Event("click")
43
- );
28
+ isLoading: D,
29
+ spinProps: H,
30
+ hasRowSelection: f,
31
+ hasPagination: p,
32
+ paginationConfig: N,
33
+ rowSelectionConfig: r
34
+ } = F(m), W = (t, l) => {
35
+ if (f) {
36
+ const g = !t.getIsSelected();
37
+ if (r?.onSelect) {
38
+ const S = { ...a.getState().rowSelection };
39
+ S[t.id] = g;
40
+ const { selectedRows: j } = $(
41
+ S,
42
+ i,
43
+ c
44
+ );
45
+ r.onSelect(
46
+ t.original,
47
+ g,
48
+ j,
49
+ l.nativeEvent
50
+ );
51
+ }
52
+ t.toggleSelected();
44
53
  }
45
- }, r = g(null), [b, D] = H({
54
+ }, n = y(null), [b, I] = B({
46
55
  vertical: !1,
47
56
  horizontal: !1
48
- }), s = !!a.getState().columnSizingInfo?.isResizingColumn;
49
- return h(() => {
50
- r.current && D({
51
- vertical: r.current.scrollHeight > r.current.clientHeight,
52
- horizontal: r.current.scrollWidth > r.current.clientWidth
57
+ }), d = !!a.getState().columnSizingInfo?.isResizingColumn;
58
+ return w(() => {
59
+ n.current && I({
60
+ vertical: n.current.scrollHeight > n.current.clientHeight,
61
+ horizontal: n.current.scrollWidth > n.current.clientWidth
53
62
  });
54
- }, [i]), h(() => {
55
- if (!s || typeof document > "u") return;
63
+ }, [i]), w(() => {
64
+ if (!d || typeof document > "u") return;
56
65
  const t = document.body.style.cursor, l = document.body.style.userSelect;
57
66
  return document.body.style.cursor = "col-resize", document.body.style.userSelect = "none", () => {
58
67
  document.body.style.cursor = t, document.body.style.userSelect = l;
59
68
  };
60
- }, [s]), /* @__PURE__ */ o(
69
+ }, [d]), /* @__PURE__ */ o(
61
70
  "div",
62
71
  {
63
- ref: w,
64
- className: E(
72
+ ref: x,
73
+ className: M(
65
74
  e("data-table-wrapper"),
66
- e(`data-table-${y}`),
67
- m === "zebra" ? e("data-table-zebra") : "",
68
- m === "minimal" ? e("data-table-minimal") : "",
69
- f ? e("data-table-has-pagination") : "",
75
+ e(`data-table-${R}`),
76
+ u === "zebra" ? e("data-table-zebra") : "",
77
+ u === "minimal" ? e("data-table-minimal") : "",
78
+ p ? e("data-table-has-pagination") : "",
70
79
  b.vertical ? e("data-table-scroll-vertical") : "",
71
80
  b.horizontal ? e("data-table-scroll-horizontal") : "",
72
- s ? e("data-table-resizing") : "",
73
- S
81
+ d ? e("data-table-resizing") : "",
82
+ z
74
83
  ),
75
- children: /* @__PURE__ */ p(N, { spinning: v, ...R, children: [
76
- /* @__PURE__ */ o("div", { className: e("data-table"), children: /* @__PURE__ */ o("div", { className: e("data-table-container"), ref: r, children: /* @__PURE__ */ o("div", { className: e("data-table-content"), children: /* @__PURE__ */ p("table", { children: [
84
+ children: /* @__PURE__ */ h(E, { spinning: D, ...H, children: [
85
+ /* @__PURE__ */ o("div", { className: e("data-table"), children: /* @__PURE__ */ o("div", { className: e("data-table-container"), ref: n, children: /* @__PURE__ */ o("div", { className: e("data-table-content"), children: /* @__PURE__ */ h("table", { children: [
77
86
  /* @__PURE__ */ o("colgroup", { children: a.getHeaderGroups()[0]?.headers.map((t) => {
78
87
  let l;
79
88
  if (t.id === "select")
80
- l = n?.columnWidth || 32;
89
+ l = r?.columnWidth || 32;
81
90
  else
82
91
  try {
83
92
  l = `${t.getSize()}px`;
@@ -87,40 +96,42 @@ const F = (d, A) => {
87
96
  return /* @__PURE__ */ o("col", { style: { width: l } }, t.id);
88
97
  }) }),
89
98
  /* @__PURE__ */ o(
90
- P,
99
+ A,
91
100
  {
92
101
  table: a,
93
- rowSelectionConfig: n,
102
+ rowSelectionConfig: r,
94
103
  dataSource: i,
95
- rowKey: c
104
+ rowKey: c,
105
+ onHeaderRow: C
96
106
  }
97
107
  ),
98
108
  /* @__PURE__ */ o(
99
- k,
109
+ G,
100
110
  {
101
111
  table: a,
102
112
  dataSource: i,
103
- emptyDescription: z,
104
- hasRowSelection: u,
105
- onRowClick: T,
106
- rowSelectionConfig: n,
107
- rowKey: c
113
+ emptyDescription: v ?? (typeof s?.emptyText == "function" ? s.emptyText() : s?.emptyText),
114
+ hasRowSelection: f,
115
+ onRowClick: W,
116
+ rowSelectionConfig: r,
117
+ rowKey: c,
118
+ onRow: T
108
119
  }
109
120
  )
110
121
  ] }) }) }) }),
111
- f && /* @__PURE__ */ o(
112
- j,
122
+ p && /* @__PURE__ */ o(
123
+ K,
113
124
  {
114
125
  table: a,
115
- paginationConfig: C,
126
+ paginationConfig: N,
116
127
  totalCount: a.getPreFilteredRowModel().rows.length
117
128
  }
118
129
  )
119
130
  ] })
120
131
  }
121
132
  );
122
- }, $ = x(F), ee = $;
133
+ }, q = k(U), re = q;
123
134
  export {
124
- ee as DataTable
135
+ re as DataTable
125
136
  };
126
137
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/data-table/component.tsx"],"sourcesContent":["\"use client\";\nimport React, {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type Ref,\n} from \"react\";\nimport { type Row } from \"@tanstack/react-table\";\nimport { clsx, useCls } from \"../utils\";\nimport { Spin } from \"../spin/component\";\nimport { TableHeader, TableBody, TablePagination } from \"./components\";\nimport { useDataTable } from \"./hooks\";\nimport { convertSelectionToAntFormat } from \"./utils\";\nimport { type DataTableProps, type DataTableRef } from \"./types\";\n\n// Import component-specific styles\nimport \"./style.css\";\nimport \"./variant-zebra.css\";\nimport \"./variant-minimal.css\";\n\n// Extended meta type for column definitions\ninterface ExtendedColumnMeta {\n align?: \"left\" | \"center\" | \"right\";\n width?: string | number;\n fixed?: \"left\" | \"right\" | boolean;\n ellipsis?: boolean;\n}\n\nconst InnerDataTable = <\n RecordType extends Record<string, any> = Record<string, unknown>\n>(\n props: DataTableProps<RecordType>,\n ref: Ref<DataTableRef>\n) => {\n const {\n dataSource = [],\n className,\n size = \"large\",\n variant = \"default\",\n emptyDescription,\n rowKey,\n } = props;\n\n const cls = useCls();\n const tableWrapperRef = useRef<HTMLDivElement>(null);\n\n // Use the custom hook for table logic\n const {\n table,\n isLoading,\n spinProps,\n hasRowSelection,\n hasPagination,\n paginationConfig,\n rowSelectionConfig,\n } = useDataTable(props);\n\n // Handle row click for selection\n const handleRowClick = (row: Row<RecordType>) => {\n if (hasRowSelection) {\n row.toggleSelected();\n if (rowSelectionConfig?.onSelect) {\n const { selectedRowKeys, selectedRows } = convertSelectionToAntFormat(\n table.getState().rowSelection,\n dataSource,\n rowKey\n );\n rowSelectionConfig.onSelect(\n row.original,\n !row.getIsSelected(),\n selectedRows,\n new Event(\"click\")\n );\n }\n }\n };\n\n // cls(\"table-scroll-horizontal\"))\n\n const tableContainerRef = useRef<HTMLDivElement>(null);\n\n const [hasScroll, setHasScroll] = useState({\n vertical: false,\n horizontal: false,\n });\n\n const isColumnResizing = Boolean(\n table.getState().columnSizingInfo?.isResizingColumn\n );\n\n useEffect(() => {\n if (tableContainerRef.current) {\n setHasScroll({\n vertical:\n tableContainerRef.current.scrollHeight >\n tableContainerRef.current.clientHeight,\n horizontal:\n tableContainerRef.current.scrollWidth >\n tableContainerRef.current.clientWidth,\n });\n }\n }, [dataSource]);\n\n useEffect(() => {\n if (!isColumnResizing || typeof document === \"undefined\") return;\n\n const originalCursor = document.body.style.cursor;\n const originalUserSelect = document.body.style.userSelect;\n\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n\n return () => {\n document.body.style.cursor = originalCursor;\n document.body.style.userSelect = originalUserSelect;\n };\n }, [isColumnResizing]);\n\n return (\n <div\n ref={tableWrapperRef}\n className={clsx(\n cls(\"data-table-wrapper\"),\n cls(`data-table-${size}`),\n variant === \"zebra\" ? cls(\"data-table-zebra\") : \"\",\n variant === \"minimal\" ? cls(\"data-table-minimal\") : \"\",\n hasPagination ? cls(\"data-table-has-pagination\") : \"\",\n hasScroll.vertical ? cls(\"data-table-scroll-vertical\") : \"\",\n hasScroll.horizontal ? cls(\"data-table-scroll-horizontal\") : \"\",\n isColumnResizing ? cls(\"data-table-resizing\") : \"\",\n className\n )}\n >\n <Spin spinning={isLoading} {...spinProps}>\n <div className={cls(\"data-table\")}>\n <div className={cls(\"data-table-container\")} ref={tableContainerRef}>\n <div className={cls(\"data-table-content\")}>\n <table>\n <colgroup>\n {table.getHeaderGroups()[0]?.headers.map((header) => {\n let columnWidth: string | number | undefined;\n\n if (header.id === \"select\") {\n columnWidth = rowSelectionConfig?.columnWidth || 32;\n } else {\n // Try to get the current size from TanStack, fallback to meta width\n try {\n columnWidth = `${header.getSize()}px`;\n } catch (error) {\n // Fallback to static width from column meta\n columnWidth = (\n header.column.columnDef.meta as ExtendedColumnMeta\n )?.width;\n }\n }\n\n return (\n <col key={header.id} style={{ width: columnWidth }} />\n );\n })}\n </colgroup>\n\n <TableHeader\n table={table}\n rowSelectionConfig={rowSelectionConfig}\n dataSource={dataSource}\n rowKey={rowKey}\n />\n\n <TableBody\n table={table}\n dataSource={dataSource}\n emptyDescription={emptyDescription}\n hasRowSelection={hasRowSelection}\n onRowClick={handleRowClick}\n rowSelectionConfig={rowSelectionConfig}\n rowKey={rowKey}\n />\n </table>\n </div>\n </div>\n </div>\n\n {hasPagination && (\n <TablePagination\n table={table}\n paginationConfig={paginationConfig}\n totalCount={table.getPreFilteredRowModel().rows.length}\n />\n )}\n </Spin>\n </div>\n );\n};\n\nconst InternalDataTable = forwardRef(InnerDataTable) as <\n RecordType extends Record<string, any> = Record<string, unknown>\n>(\n props: DataTableProps<RecordType> & { ref?: Ref<DataTableRef> }\n) => ReturnType<typeof InnerDataTable>;\n\nexport const DataTable = InternalDataTable;\n"],"names":["InnerDataTable","props","ref","dataSource","className","size","variant","emptyDescription","rowKey","cls","useCls","tableWrapperRef","useRef","table","isLoading","spinProps","hasRowSelection","hasPagination","paginationConfig","rowSelectionConfig","useDataTable","handleRowClick","row","selectedRows","convertSelectionToAntFormat","tableContainerRef","hasScroll","setHasScroll","useState","isColumnResizing","useEffect","originalCursor","originalUserSelect","jsx","clsx","jsxs","Spin","header","columnWidth","TableHeader","TableBody","TablePagination","InternalDataTable","forwardRef","DataTable"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/data-table/component.tsx"],"sourcesContent":["\"use client\";\nimport React, {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type Ref,\n} from \"react\";\nimport { type Row } from \"@tanstack/react-table\";\nimport { clsx, useCls } from \"../utils\";\nimport { Spin } from \"../spin/component\";\nimport { TableHeader, TableBody, TablePagination } from \"./components\";\nimport { useDataTable } from \"./hooks\";\nimport { convertSelectionToAntFormat, getRowKey } from \"./utils\";\nimport { type DataTableProps, type DataTableRef } from \"./types\";\n\n// Import component-specific styles\nimport \"./style.css\";\nimport \"./variant-zebra.css\";\nimport \"./variant-minimal.css\";\n\n// Extended meta type for column definitions\ninterface ExtendedColumnMeta {\n align?: \"left\" | \"center\" | \"right\";\n width?: string | number;\n fixed?: \"left\" | \"right\" | boolean;\n ellipsis?: boolean;\n}\n\nconst InnerDataTable = <\n RecordType extends Record<string, any> = Record<string, unknown>\n>(\n props: DataTableProps<RecordType>,\n ref: Ref<DataTableRef>\n) => {\n const {\n dataSource = [],\n className,\n size = \"large\",\n variant = \"default\",\n emptyDescription,\n rowKey,\n onRow,\n onHeaderRow,\n locale,\n } = props;\n\n const cls = useCls();\n const tableWrapperRef = useRef<HTMLDivElement>(null);\n\n // Use the custom hook for table logic\n const {\n table,\n isLoading,\n spinProps,\n hasRowSelection,\n hasPagination,\n paginationConfig,\n rowSelectionConfig,\n } = useDataTable(props);\n\n // Handle row click for selection\n const handleRowClick = (row: Row<RecordType>, nativeEvent: React.MouseEvent) => {\n if (hasRowSelection) {\n const wasSelected = row.getIsSelected();\n const isSelected = !wasSelected;\n\n if (rowSelectionConfig?.onSelect) {\n // Compute new selection manually since table state batched updates\n // may not reflect the toggle yet\n const nextSelection = { ...table.getState().rowSelection };\n nextSelection[row.id] = isSelected;\n\n const { selectedRows } = convertSelectionToAntFormat(\n nextSelection,\n dataSource,\n rowKey\n );\n rowSelectionConfig.onSelect(\n row.original,\n isSelected,\n selectedRows,\n nativeEvent.nativeEvent\n );\n }\n\n row.toggleSelected();\n }\n };\n\n // cls(\"table-scroll-horizontal\"))\n\n const tableContainerRef = useRef<HTMLDivElement>(null);\n\n const [hasScroll, setHasScroll] = useState({\n vertical: false,\n horizontal: false,\n });\n\n const isColumnResizing = Boolean(\n table.getState().columnSizingInfo?.isResizingColumn\n );\n\n useEffect(() => {\n if (tableContainerRef.current) {\n setHasScroll({\n vertical:\n tableContainerRef.current.scrollHeight >\n tableContainerRef.current.clientHeight,\n horizontal:\n tableContainerRef.current.scrollWidth >\n tableContainerRef.current.clientWidth,\n });\n }\n }, [dataSource]);\n\n useEffect(() => {\n if (!isColumnResizing || typeof document === \"undefined\") return;\n\n const originalCursor = document.body.style.cursor;\n const originalUserSelect = document.body.style.userSelect;\n\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n\n return () => {\n document.body.style.cursor = originalCursor;\n document.body.style.userSelect = originalUserSelect;\n };\n }, [isColumnResizing]);\n\n return (\n <div\n ref={tableWrapperRef}\n className={clsx(\n cls(\"data-table-wrapper\"),\n cls(`data-table-${size}`),\n variant === \"zebra\" ? cls(\"data-table-zebra\") : \"\",\n variant === \"minimal\" ? cls(\"data-table-minimal\") : \"\",\n hasPagination ? cls(\"data-table-has-pagination\") : \"\",\n hasScroll.vertical ? cls(\"data-table-scroll-vertical\") : \"\",\n hasScroll.horizontal ? cls(\"data-table-scroll-horizontal\") : \"\",\n isColumnResizing ? cls(\"data-table-resizing\") : \"\",\n className\n )}\n >\n <Spin spinning={isLoading} {...spinProps}>\n <div className={cls(\"data-table\")}>\n <div className={cls(\"data-table-container\")} ref={tableContainerRef}>\n <div className={cls(\"data-table-content\")}>\n <table>\n <colgroup>\n {table.getHeaderGroups()[0]?.headers.map((header) => {\n let columnWidth: string | number | undefined;\n\n if (header.id === \"select\") {\n columnWidth = rowSelectionConfig?.columnWidth || 32;\n } else {\n // Try to get the current size from TanStack, fallback to meta width\n try {\n columnWidth = `${header.getSize()}px`;\n } catch (error) {\n // Fallback to static width from column meta\n columnWidth = (\n header.column.columnDef.meta as ExtendedColumnMeta\n )?.width;\n }\n }\n\n return (\n <col key={header.id} style={{ width: columnWidth }} />\n );\n })}\n </colgroup>\n\n <TableHeader\n table={table}\n rowSelectionConfig={rowSelectionConfig}\n dataSource={dataSource}\n rowKey={rowKey}\n onHeaderRow={onHeaderRow}\n />\n\n <TableBody\n table={table}\n dataSource={dataSource}\n emptyDescription={\n emptyDescription ??\n (typeof locale?.emptyText === \"function\"\n ? locale.emptyText()\n : locale?.emptyText)\n }\n hasRowSelection={hasRowSelection}\n onRowClick={handleRowClick}\n rowSelectionConfig={rowSelectionConfig}\n rowKey={rowKey}\n onRow={onRow}\n />\n </table>\n </div>\n </div>\n </div>\n\n {hasPagination && (\n <TablePagination\n table={table}\n paginationConfig={paginationConfig}\n totalCount={table.getPreFilteredRowModel().rows.length}\n />\n )}\n </Spin>\n </div>\n );\n};\n\nconst InternalDataTable = forwardRef(InnerDataTable) as <\n RecordType extends Record<string, any> = Record<string, unknown>\n>(\n props: DataTableProps<RecordType> & { ref?: Ref<DataTableRef> }\n) => ReturnType<typeof InnerDataTable>;\n\nexport const DataTable = InternalDataTable;\n"],"names":["InnerDataTable","props","ref","dataSource","className","size","variant","emptyDescription","rowKey","onRow","onHeaderRow","locale","cls","useCls","tableWrapperRef","useRef","table","isLoading","spinProps","hasRowSelection","hasPagination","paginationConfig","rowSelectionConfig","useDataTable","handleRowClick","row","nativeEvent","isSelected","nextSelection","selectedRows","convertSelectionToAntFormat","tableContainerRef","hasScroll","setHasScroll","useState","isColumnResizing","useEffect","originalCursor","originalUserSelect","jsx","clsx","jsxs","Spin","header","columnWidth","TableHeader","TableBody","TablePagination","InternalDataTable","forwardRef","DataTable"],"mappings":"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"}
@@ -6,10 +6,11 @@ interface TableBodyProps<RecordType extends Record<string, any> = Record<string,
6
6
  dataSource: RecordType[];
7
7
  emptyDescription?: React.ReactNode;
8
8
  hasRowSelection?: boolean;
9
- onRowClick?: (row: Row<RecordType>) => void;
9
+ onRowClick?: (row: Row<RecordType>, nativeEvent: React.MouseEvent) => void;
10
10
  rowSelectionConfig?: DataTableRowSelection<RecordType>;
11
11
  rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey);
12
+ onRow?: (record: RecordType, index?: number) => React.HTMLAttributes<HTMLElement>;
12
13
  }
13
- export declare const TableBody: <RecordType extends Record<string, any> = Record<string, unknown>>({ table, dataSource, emptyDescription, hasRowSelection, onRowClick, rowSelectionConfig, rowKey, }: TableBodyProps<RecordType>) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const TableBody: <RecordType extends Record<string, any> = Record<string, unknown>>({ table, dataSource, emptyDescription, hasRowSelection, onRowClick, rowSelectionConfig, rowKey, onRow, }: TableBodyProps<RecordType>) => import("react/jsx-runtime").JSX.Element;
14
15
  export {};
15
16
  //# sourceMappingURL=TableBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/components/TableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,GAAG,EAA0B,MAAM,uBAAuB,CAAC;AAMjG,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAWnE,UAAU,cAAc,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvF,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC5C,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,mGAQzF,cAAc,CAAC,UAAU,CAAC,4CA0H5B,CAAC"}
1
+ {"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/components/TableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,GAAG,EAA0B,MAAM,uBAAuB,CAAC;AAMjG,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAWnE,UAAU,cAAc,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvF,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC3E,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACnE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;CACnF;AAED,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,0GASzF,cAAc,CAAC,UAAU,CAAC,4CAkI5B,CAAC"}
@@ -1,123 +1,131 @@
1
- import { jsxs as x, jsx as a } from "react/jsx-runtime";
2
- import { flexRender as f } from "@tanstack/react-table";
3
- import { convertSelectionToAntFormat as h, getAlignmentClass as k } from "../utils.js";
4
- import { Empty as S } from "../../empty/component.js";
5
- import { Radio as w } from "../../radio/component.js";
6
- import { useCls as v } from "../../utils/antdUtils.js";
7
- import { clsx as g } from "../../utils/cn.js";
8
- import { Checkbox as y } from "../../checkbox/component.js";
9
- const G = ({
1
+ import { jsxs as k, jsx as o } from "react/jsx-runtime";
2
+ import { flexRender as S } from "@tanstack/react-table";
3
+ import { convertSelectionToAntFormat as g, getAlignmentClass as w } from "../utils.js";
4
+ import { Empty as N } from "../../empty/component.js";
5
+ import { Radio as v } from "../../radio/component.js";
6
+ import { useCls as y } from "../../utils/antdUtils.js";
7
+ import { clsx as p } from "../../utils/cn.js";
8
+ import { Checkbox as C } from "../../checkbox/component.js";
9
+ const H = ({
10
10
  table: c,
11
- dataSource: l,
12
- emptyDescription: p,
13
- hasRowSelection: u,
14
- onRowClick: b,
11
+ dataSource: s,
12
+ emptyDescription: u,
13
+ hasRowSelection: b,
14
+ onRowClick: x,
15
15
  rowSelectionConfig: r,
16
- rowKey: i
16
+ rowKey: m,
17
+ onRow: f
17
18
  }) => {
18
- const t = v();
19
- return /* @__PURE__ */ x("tbody", { className: t("data-table-tbody"), children: [
20
- /* @__PURE__ */ a(
19
+ const a = y();
20
+ return /* @__PURE__ */ k("tbody", { className: a("data-table-tbody"), children: [
21
+ /* @__PURE__ */ o(
21
22
  "tr",
22
23
  {
23
24
  "aria-hidden": "true",
24
- className: t("data-table-measure-row"),
25
+ className: a("data-table-measure-row"),
25
26
  style: { height: "0px", fontSize: "0px" },
26
- children: c.getHeaderGroups()[0]?.headers.map((d) => /* @__PURE__ */ a(
27
+ children: c.getHeaderGroups()[0]?.headers.map((t) => /* @__PURE__ */ o(
27
28
  "td",
28
29
  {
29
- className: t("data-table-measure-cell"),
30
+ className: a("data-table-measure-cell"),
30
31
  style: {
31
32
  padding: "0px",
32
33
  border: "0px",
33
34
  height: "0px",
34
- width: d.id === "select" ? 32 : d.column.columnDef.meta?.width
35
+ width: t.id === "select" ? 32 : t.column.columnDef.meta?.width
35
36
  },
36
- children: /* @__PURE__ */ a("div", { className: t("data-table-measure-cell-content"), children: " " })
37
+ children: /* @__PURE__ */ o("div", { className: a("data-table-measure-cell-content"), children: " " })
37
38
  },
38
- d.id
39
+ t.id
39
40
  ))
40
41
  }
41
42
  ),
42
- l.length === 0 ? /* @__PURE__ */ a("tr", { className: t("data-table-placeholder"), children: /* @__PURE__ */ a("td", { colSpan: c.getHeaderGroups()[0]?.headers.length || 1, children: /* @__PURE__ */ a(S, { description: p }) }) }) : c.getRowModel().rows.map((d) => /* @__PURE__ */ a(
43
- "tr",
44
- {
45
- className: g(
46
- t("data-table-row"),
47
- t("data-table-row-level-0"),
48
- d.getIsSelected() ? t("data-table-row-selected") : ""
49
- ),
50
- "data-row-key": d.id,
51
- "data-selectable": u ? "true" : "false",
52
- onClick: () => b?.(d),
53
- children: d.getVisibleCells().map((e) => /* @__PURE__ */ a(
54
- "td",
55
- {
56
- className: g(
57
- t("data-table-cell"),
58
- e.column.id === "select" ? t("data-table-selection-column") : "",
59
- k(e.column.columnDef.meta?.align)
60
- ),
61
- children: e.column.id === "select" ? (
62
- // Handle selection column cells
63
- (() => {
64
- const s = e.row.original, m = r?.getCheckboxProps?.(s) || {};
65
- return r?.type === "radio" ? /* @__PURE__ */ a(
66
- w,
67
- {
68
- checked: e.row.getIsSelected(),
69
- disabled: !e.row.getCanSelect(),
70
- onChange: (o) => {
71
- if (e.row.toggleSelected(o.target.checked), r.onSelect) {
72
- const { selectedRows: n } = h(
73
- c.getState().rowSelection,
74
- l,
75
- i
76
- );
77
- r.onSelect(
78
- s,
79
- o.target.checked,
80
- n,
81
- o.nativeEvent
82
- );
83
- }
84
- },
85
- ...m
86
- }
87
- ) : /* @__PURE__ */ a(
88
- y,
89
- {
90
- checked: e.row.getIsSelected(),
91
- disabled: !e.row.getCanSelect(),
92
- onChange: (o) => {
93
- if (e.row.toggleSelected(o.target.checked), r?.onSelect) {
94
- const { selectedRows: n } = h(
95
- c.getState().rowSelection,
96
- l,
97
- i
98
- );
99
- r.onSelect(
100
- s,
101
- o.target.checked,
102
- n,
103
- o.nativeEvent
104
- );
105
- }
106
- },
107
- ...m
108
- }
109
- );
110
- })()
111
- ) : f(e.column.columnDef.cell, e.getContext())
43
+ s.length === 0 ? /* @__PURE__ */ o("tr", { className: a("data-table-placeholder"), children: /* @__PURE__ */ o("td", { colSpan: c.getHeaderGroups()[0]?.headers.length || 1, children: /* @__PURE__ */ o(N, { description: u }) }) }) : c.getRowModel().rows.map((t) => {
44
+ const l = f?.(t.original, t.index);
45
+ return /* @__PURE__ */ o(
46
+ "tr",
47
+ {
48
+ ...l,
49
+ className: p(
50
+ a("data-table-row"),
51
+ a("data-table-row-level-0"),
52
+ t.getIsSelected() ? a("data-table-row-selected") : "",
53
+ l?.className
54
+ ),
55
+ "data-row-key": t.id,
56
+ "data-selectable": b ? "true" : "false",
57
+ onClick: (e) => {
58
+ l?.onClick?.(e), x?.(t, e);
112
59
  },
113
- e.id
114
- ))
115
- },
116
- d.id
117
- ))
60
+ children: t.getVisibleCells().map((e) => /* @__PURE__ */ o(
61
+ "td",
62
+ {
63
+ className: p(
64
+ a("data-table-cell"),
65
+ e.column.id === "select" ? a("data-table-selection-column") : "",
66
+ w(e.column.columnDef.meta?.align)
67
+ ),
68
+ children: e.column.id === "select" ? (
69
+ // Handle selection column cells
70
+ (() => {
71
+ const n = e.row.original, h = r?.getCheckboxProps?.(n) || {};
72
+ return r?.type === "radio" ? /* @__PURE__ */ o(
73
+ v,
74
+ {
75
+ checked: e.row.getIsSelected(),
76
+ disabled: !e.row.getCanSelect(),
77
+ onChange: (d) => {
78
+ if (e.row.toggleSelected(d.target.checked), r.onSelect) {
79
+ const { selectedRows: i } = g(
80
+ c.getState().rowSelection,
81
+ s,
82
+ m
83
+ );
84
+ r.onSelect(
85
+ n,
86
+ d.target.checked,
87
+ i,
88
+ d.nativeEvent
89
+ );
90
+ }
91
+ },
92
+ ...h
93
+ }
94
+ ) : /* @__PURE__ */ o(
95
+ C,
96
+ {
97
+ checked: e.row.getIsSelected(),
98
+ disabled: !e.row.getCanSelect(),
99
+ onChange: (d) => {
100
+ if (e.row.toggleSelected(d.target.checked), r?.onSelect) {
101
+ const { selectedRows: i } = g(
102
+ c.getState().rowSelection,
103
+ s,
104
+ m
105
+ );
106
+ r.onSelect(
107
+ n,
108
+ d.target.checked,
109
+ i,
110
+ d.nativeEvent
111
+ );
112
+ }
113
+ },
114
+ ...h
115
+ }
116
+ );
117
+ })()
118
+ ) : S(e.column.columnDef.cell, e.getContext())
119
+ },
120
+ e.id
121
+ ))
122
+ },
123
+ t.id
124
+ );
125
+ })
118
126
  ] });
119
127
  };
120
128
  export {
121
- G as TableBody
129
+ H as TableBody
122
130
  };
123
131
  //# sourceMappingURL=TableBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.js","sources":["../../../../src/components/data-table/components/TableBody.tsx"],"sourcesContent":["import React from \"react\";\nimport { flexRender, type Table, type Row, type Cell, type Header } from \"@tanstack/react-table\";\nimport { Checkbox, type CheckboxChangeEvent } from \"../../checkbox\";\nimport { Radio, type RadioChangeEvent } from \"../../radio\";\nimport { clsx, useCls } from \"../../utils\";\nimport { getAlignmentClass } from \"../utils\";\nimport { convertSelectionToAntFormat } from \"../utils\";\nimport { type DataTableRowSelection, type RowKey } from \"../types\";\nimport Empty from \"../../empty/component\";\n\n// Extended meta type for column definitions\ninterface ExtendedColumnMeta {\n align?: \"left\" | \"center\" | \"right\";\n width?: string | number;\n fixed?: \"left\" | \"right\" | boolean;\n ellipsis?: boolean;\n}\n\ninterface TableBodyProps<RecordType extends Record<string, any> = Record<string, unknown>> {\n table: Table<RecordType>;\n dataSource: RecordType[];\n emptyDescription?: React.ReactNode;\n hasRowSelection?: boolean;\n onRowClick?: (row: Row<RecordType>) => void;\n rowSelectionConfig?: DataTableRowSelection<RecordType>;\n rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey);\n}\n\nexport const TableBody = <RecordType extends Record<string, any> = Record<string, unknown>>({\n table,\n dataSource,\n emptyDescription,\n hasRowSelection,\n onRowClick,\n rowSelectionConfig,\n rowKey,\n}: TableBodyProps<RecordType>) => {\n const cls = useCls();\n\n return (\n <tbody className={cls(\"data-table-tbody\")}>\n {/* Measure row for Ant Design compatibility */}\n <tr\n aria-hidden=\"true\"\n className={cls(\"data-table-measure-row\")}\n style={{ height: \"0px\", fontSize: \"0px\" }}\n >\n {table.getHeaderGroups()[0]?.headers.map((header: Header<RecordType, unknown>) => (\n <td\n key={header.id}\n className={cls(\"data-table-measure-cell\")}\n style={{\n padding: \"0px\",\n border: \"0px\",\n height: \"0px\",\n width:\n header.id === \"select\"\n ? 32\n : (header.column.columnDef.meta as ExtendedColumnMeta)?.width,\n }}\n >\n <div className={cls(\"data-table-measure-cell-content\")}>&nbsp;</div>\n </td>\n ))}\n </tr>\n\n {dataSource.length === 0 ? (\n <tr className={cls(\"data-table-placeholder\")}>\n <td colSpan={table.getHeaderGroups()[0]?.headers.length || 1}>\n <Empty description={emptyDescription} />\n </td>\n </tr>\n ) : (\n table.getRowModel().rows.map((row: Row<RecordType>) => (\n <tr\n key={row.id}\n className={clsx(\n cls(\"data-table-row\"),\n cls(\"data-table-row-level-0\"),\n row.getIsSelected() ? cls(\"data-table-row-selected\") : \"\",\n )}\n data-row-key={row.id}\n data-selectable={hasRowSelection ? \"true\" : \"false\"}\n onClick={() => onRowClick?.(row)}\n >\n {row.getVisibleCells().map((cell: Cell<RecordType, unknown>) => (\n <td\n key={cell.id}\n className={clsx(\n cls(\"data-table-cell\"),\n cell.column.id === \"select\" ? cls(\"data-table-selection-column\") : \"\",\n getAlignmentClass((cell.column.columnDef.meta as ExtendedColumnMeta)?.align),\n )}\n >\n {cell.column.id === \"select\"\n ? // Handle selection column cells\n (() => {\n const record = cell.row.original;\n const checkboxProps = rowSelectionConfig?.getCheckboxProps?.(record) || {};\n\n if (rowSelectionConfig?.type === \"radio\") {\n return (\n <Radio\n checked={cell.row.getIsSelected()}\n disabled={!cell.row.getCanSelect()}\n onChange={(e: RadioChangeEvent) => {\n cell.row.toggleSelected(e.target.checked);\n if (rowSelectionConfig.onSelect) {\n const { selectedRows } = convertSelectionToAntFormat(\n table.getState().rowSelection,\n dataSource,\n rowKey,\n );\n rowSelectionConfig.onSelect(\n record,\n e.target.checked,\n selectedRows,\n e.nativeEvent,\n );\n }\n }}\n {...checkboxProps}\n />\n );\n }\n\n return (\n <Checkbox\n checked={cell.row.getIsSelected()}\n disabled={!cell.row.getCanSelect()}\n onChange={(e: CheckboxChangeEvent) => {\n cell.row.toggleSelected(e.target.checked);\n if (rowSelectionConfig?.onSelect) {\n const { selectedRows } = convertSelectionToAntFormat(\n table.getState().rowSelection,\n dataSource,\n rowKey,\n );\n rowSelectionConfig.onSelect(\n record,\n e.target.checked,\n selectedRows,\n e.nativeEvent,\n );\n }\n }}\n {...checkboxProps}\n />\n );\n })()\n : flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n ))}\n </tr>\n ))\n )}\n </tbody>\n );\n};\n"],"names":["TableBody","table","dataSource","emptyDescription","hasRowSelection","onRowClick","rowSelectionConfig","rowKey","cls","useCls","jsxs","jsx","header","Empty","row","clsx","cell","getAlignmentClass","record","checkboxProps","Radio","e","selectedRows","convertSelectionToAntFormat","Checkbox","flexRender"],"mappings":"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"}
1
+ {"version":3,"file":"TableBody.js","sources":["../../../../src/components/data-table/components/TableBody.tsx"],"sourcesContent":["import React from \"react\";\nimport { flexRender, type Table, type Row, type Cell, type Header } from \"@tanstack/react-table\";\nimport { Checkbox, type CheckboxChangeEvent } from \"../../checkbox\";\nimport { Radio, type RadioChangeEvent } from \"../../radio\";\nimport { clsx, useCls } from \"../../utils\";\nimport { getAlignmentClass } from \"../utils\";\nimport { convertSelectionToAntFormat } from \"../utils\";\nimport { type DataTableRowSelection, type RowKey } from \"../types\";\nimport Empty from \"../../empty/component\";\n\n// Extended meta type for column definitions\ninterface ExtendedColumnMeta {\n align?: \"left\" | \"center\" | \"right\";\n width?: string | number;\n fixed?: \"left\" | \"right\" | boolean;\n ellipsis?: boolean;\n}\n\ninterface TableBodyProps<RecordType extends Record<string, any> = Record<string, unknown>> {\n table: Table<RecordType>;\n dataSource: RecordType[];\n emptyDescription?: React.ReactNode;\n hasRowSelection?: boolean;\n onRowClick?: (row: Row<RecordType>, nativeEvent: React.MouseEvent) => void;\n rowSelectionConfig?: DataTableRowSelection<RecordType>;\n rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey);\n onRow?: (record: RecordType, index?: number) => React.HTMLAttributes<HTMLElement>;\n}\n\nexport const TableBody = <RecordType extends Record<string, any> = Record<string, unknown>>({\n table,\n dataSource,\n emptyDescription,\n hasRowSelection,\n onRowClick,\n rowSelectionConfig,\n rowKey,\n onRow,\n}: TableBodyProps<RecordType>) => {\n const cls = useCls();\n\n return (\n <tbody className={cls(\"data-table-tbody\")}>\n {/* Measure row for Ant Design compatibility */}\n <tr\n aria-hidden=\"true\"\n className={cls(\"data-table-measure-row\")}\n style={{ height: \"0px\", fontSize: \"0px\" }}\n >\n {table.getHeaderGroups()[0]?.headers.map((header: Header<RecordType, unknown>) => (\n <td\n key={header.id}\n className={cls(\"data-table-measure-cell\")}\n style={{\n padding: \"0px\",\n border: \"0px\",\n height: \"0px\",\n width:\n header.id === \"select\"\n ? 32\n : (header.column.columnDef.meta as ExtendedColumnMeta)?.width,\n }}\n >\n <div className={cls(\"data-table-measure-cell-content\")}>&nbsp;</div>\n </td>\n ))}\n </tr>\n\n {dataSource.length === 0 ? (\n <tr className={cls(\"data-table-placeholder\")}>\n <td colSpan={table.getHeaderGroups()[0]?.headers.length || 1}>\n <Empty description={emptyDescription} />\n </td>\n </tr>\n ) : (\n table.getRowModel().rows.map((row: Row<RecordType>) => {\n const rowProps = onRow?.(row.original, row.index);\n return (\n <tr\n key={row.id}\n {...rowProps}\n className={clsx(\n cls(\"data-table-row\"),\n cls(\"data-table-row-level-0\"),\n row.getIsSelected() ? cls(\"data-table-row-selected\") : \"\",\n rowProps?.className,\n )}\n data-row-key={row.id}\n data-selectable={hasRowSelection ? \"true\" : \"false\"}\n onClick={(e) => {\n rowProps?.onClick?.(e as unknown as React.MouseEvent<HTMLElement>);\n onRowClick?.(row, e);\n }}\n >\n {row.getVisibleCells().map((cell: Cell<RecordType, unknown>) => (\n <td\n key={cell.id}\n className={clsx(\n cls(\"data-table-cell\"),\n cell.column.id === \"select\" ? cls(\"data-table-selection-column\") : \"\",\n getAlignmentClass((cell.column.columnDef.meta as ExtendedColumnMeta)?.align),\n )}\n >\n {cell.column.id === \"select\"\n ? // Handle selection column cells\n (() => {\n const record = cell.row.original;\n const checkboxProps = rowSelectionConfig?.getCheckboxProps?.(record) || {};\n\n if (rowSelectionConfig?.type === \"radio\") {\n return (\n <Radio\n checked={cell.row.getIsSelected()}\n disabled={!cell.row.getCanSelect()}\n onChange={(e: RadioChangeEvent) => {\n cell.row.toggleSelected(e.target.checked);\n if (rowSelectionConfig.onSelect) {\n const { selectedRows } = convertSelectionToAntFormat(\n table.getState().rowSelection,\n dataSource,\n rowKey,\n );\n rowSelectionConfig.onSelect(\n record,\n e.target.checked,\n selectedRows,\n e.nativeEvent,\n );\n }\n }}\n {...checkboxProps}\n />\n );\n }\n\n return (\n <Checkbox\n checked={cell.row.getIsSelected()}\n disabled={!cell.row.getCanSelect()}\n onChange={(e: CheckboxChangeEvent) => {\n cell.row.toggleSelected(e.target.checked);\n if (rowSelectionConfig?.onSelect) {\n const { selectedRows } = convertSelectionToAntFormat(\n table.getState().rowSelection,\n dataSource,\n rowKey,\n );\n rowSelectionConfig.onSelect(\n record,\n e.target.checked,\n selectedRows,\n e.nativeEvent,\n );\n }\n }}\n {...checkboxProps}\n />\n );\n })()\n : flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n ))}\n </tr>\n );\n })\n )}\n </tbody>\n );\n};\n"],"names":["TableBody","table","dataSource","emptyDescription","hasRowSelection","onRowClick","rowSelectionConfig","rowKey","onRow","cls","useCls","jsxs","jsx","header","Empty","row","rowProps","clsx","cell","getAlignmentClass","record","checkboxProps","Radio","e","selectedRows","convertSelectionToAntFormat","Checkbox","flexRender"],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { Table } from '@tanstack/react-table';
2
2
  import { DataTableRowSelection, RowKey } from '../types';
3
+ import { TableProps as AntTableProps } from 'antd/es/table';
3
4
  interface TableHeaderProps<RecordType extends Record<string, any> = Record<string, unknown>> {
4
5
  table: Table<RecordType>;
5
6
  rowSelectionConfig?: DataTableRowSelection<RecordType>;
6
7
  dataSource?: RecordType[];
7
8
  rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey);
9
+ onHeaderRow?: AntTableProps<RecordType>['onHeaderRow'];
8
10
  }
9
- export declare const TableHeader: <RecordType extends Record<string, any> = Record<string, unknown>>({ table, rowSelectionConfig, dataSource, rowKey, }: TableHeaderProps<RecordType>) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const TableHeader: <RecordType extends Record<string, any> = Record<string, unknown>>({ table, rowSelectionConfig, dataSource, rowKey, onHeaderRow, }: TableHeaderProps<RecordType>) => import("react/jsx-runtime").JSX.Element;
10
12
  export {};
11
13
  //# sourceMappingURL=TableHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/components/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAiC,MAAM,uBAAuB,CAAC;AAM9F,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAUnE,UAAU,gBAAgB,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzF,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzB,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,WAAW,GAAI,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,oDAK3F,gBAAgB,CAAC,UAAU,CAAC,4CAqI9B,CAAC"}
1
+ {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/components/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAiC,MAAM,uBAAuB,CAAC;AAM9F,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,IAAI,aAAa,EAAE,MAAM,eAAe,CAAC;AAUjE,UAAU,gBAAgB,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzF,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACzB,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACnE,WAAW,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC;CACxD;AAED,eAAO,MAAM,WAAW,GAAI,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iEAM3F,gBAAgB,CAAC,UAAU,CAAC,4CAyK9B,CAAC"}