@join-x5/react-data-grid 1.3.1-alpha-0 → 1.4.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.
Files changed (49) hide show
  1. package/dist/DataGrid.es.js +81 -59
  2. package/dist/DataGrid.es.js.map +1 -1
  3. package/dist/Table/index.es.js +34 -34
  4. package/dist/Table/index.es.js.map +1 -1
  5. package/dist/TableBody/DataGridTableBody.d.ts +12 -0
  6. package/dist/TableBody/DataGridTableBody.es.js +41 -0
  7. package/dist/TableBody/DataGridTableBody.es.js.map +1 -0
  8. package/dist/TableBody/DataGridTableBodyVirtual.d.ts +2 -0
  9. package/dist/TableBody/DataGridTableBodyVirtual.es.js +18 -0
  10. package/dist/TableBody/DataGridTableBodyVirtual.es.js.map +1 -0
  11. package/dist/TableBody/hook.d.ts +839 -0
  12. package/dist/TableBody/hook.es.js +49 -0
  13. package/dist/TableBody/hook.es.js.map +1 -0
  14. package/dist/TableBody/index.d.ts +3 -11
  15. package/dist/TableBody/types.d.ts +2 -0
  16. package/dist/TableCell/hook.es.js +8 -9
  17. package/dist/TableCell/hook.es.js.map +1 -1
  18. package/dist/TableCell/index.es.js +120 -133
  19. package/dist/TableCell/index.es.js.map +1 -1
  20. package/dist/TableHead/index.d.ts +4 -2
  21. package/dist/TableHead/index.es.js +16 -13
  22. package/dist/TableHead/index.es.js.map +1 -1
  23. package/dist/TableHeadCell/index.es.js +71 -74
  24. package/dist/TableHeadCell/index.es.js.map +1 -1
  25. package/dist/TableInputCell/date.es.js +29 -32
  26. package/dist/TableInputCell/date.es.js.map +1 -1
  27. package/dist/TableInputCell/dropdown.es.js +29 -32
  28. package/dist/TableInputCell/dropdown.es.js.map +1 -1
  29. package/dist/TableInputCell/hook.d.ts +30 -30
  30. package/dist/TableInputCell/hook.es.js +30 -33
  31. package/dist/TableInputCell/hook.es.js.map +1 -1
  32. package/dist/TableInputCell/text.es.js +39 -41
  33. package/dist/TableInputCell/text.es.js.map +1 -1
  34. package/dist/TableInputCell/textarea.es.js +38 -40
  35. package/dist/TableInputCell/textarea.es.js.map +1 -1
  36. package/dist/TableRow/index.d.ts +2 -3
  37. package/dist/TableRow/index.es.js +16 -17
  38. package/dist/TableRow/index.es.js.map +1 -1
  39. package/dist/hook.es.js +14 -17
  40. package/dist/hook.es.js.map +1 -1
  41. package/dist/index.cjs +1 -1
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.es.js +61 -60
  44. package/dist/index.es.js.map +1 -1
  45. package/dist/types.d.ts +36 -2
  46. package/package.json +13 -12
  47. package/dist/TableBody/index.es.js +0 -26
  48. package/dist/TableBody/index.es.js.map +0 -1
  49. package/dist/TableRow/types.d.ts +0 -2
package/dist/index.es.js CHANGED
@@ -1,72 +1,73 @@
1
- import { DataGrid as a } from "./DataGrid.es.js";
1
+ import { DataGrid as l } from "./DataGrid.es.js";
2
2
  import { ControlPanel as r, ControlPanelContent as o, DataGridTable as d, Table as C, TableFooter as p, TableWrapper as D } from "./Table/index.es.js";
3
- import { TableBody as i, getDataGridTableBody as n } from "./TableBody/index.es.js";
4
- import { DataGridTableCell as b, TableCell as G, TableCellContent as m, getDataGridTableCell as f } from "./TableCell/index.es.js";
5
- import { TableDropdownHeader as w, TableDropdownItem as H } from "./TableDropdown/index.es.js";
6
- import { TableHead as u, getDataGridTableHead as c } from "./TableHead/index.es.js";
7
- import { DataGridTableHeadCell as B, TableHeadCell as R, TableHeadCellResizer as A, getDataGridTableHeadCell as k } from "./TableHeadCell/index.es.js";
8
- import { TableHeadRow as E } from "./TableHeadRow/index.es.js";
9
- import { ButtonCell as P, DataGridButtonCell as S } from "./TableInputCell/button.es.js";
10
- import { CheckboxCell as z, DataGridCheckboxCell as F } from "./TableInputCell/checkbox.es.js";
11
- import { DataGridDateCell as W, DateCell as j, getDataGridDateCell as q } from "./TableInputCell/date.es.js";
12
- import { DataGridDropdownCell as J, DropdownCell as K, getDataGridDropdownCell as M } from "./TableInputCell/dropdown.es.js";
13
- import { DataGridExpandingCell as O, ExpandingCell as Q } from "./TableInputCell/expanding.es.js";
14
- import { DataGridIconCell as X, IconCell as Y } from "./TableInputCell/icon.es.js";
15
- import { DataGridLabelCell as _, LabelCell as $ } from "./TableInputCell/label.es.js";
16
- import { DataGridSwitchCell as le, SwitchCell as ae } from "./TableInputCell/switch.es.js";
17
- import { DataGridTextInputCell as re, TextInputCell as oe, getDataGridTextInputCell as de } from "./TableInputCell/text.es.js";
18
- import { DataGridTextAreaInputCell as pe, TextAreaInputCell as De, getDataGridTextAreaInputCell as xe } from "./TableInputCell/textarea.es.js";
19
- import { TableRow as ne, getDataGridTableRow as Te } from "./TableRow/index.es.js";
20
- import { TableHeadCellVariant as Ge } from "./TableHeadCell/types.es.js";
3
+ import { TableBody as x, getDataGridTableBody as n } from "./TableBody/DataGridTableBody.es.js";
4
+ import { getDataGridTableBodyVirtual as b } from "./TableBody/DataGridTableBodyVirtual.es.js";
5
+ import { DataGridTableCell as m, TableCell as f, TableCellContent as g, getDataGridTableCell as u } from "./TableCell/index.es.js";
6
+ import { TableDropdownHeader as H, TableDropdownItem as I } from "./TableDropdown/index.es.js";
7
+ import { TableHead as B, getDataGridTableHead as h } from "./TableHead/index.es.js";
8
+ import { DataGridTableHeadCell as A, TableHeadCell as R, TableHeadCellResizer as k, getDataGridTableHeadCell as E } from "./TableHeadCell/index.es.js";
9
+ import { TableHeadRow as P } from "./TableHeadRow/index.es.js";
10
+ import { ButtonCell as V, DataGridButtonCell as s } from "./TableInputCell/button.es.js";
11
+ import { CheckboxCell as F, DataGridCheckboxCell as W } from "./TableInputCell/checkbox.es.js";
12
+ import { DataGridDateCell as q, DateCell as v, getDataGridDateCell as J } from "./TableInputCell/date.es.js";
13
+ import { DataGridDropdownCell as M, DropdownCell as N, getDataGridDropdownCell as O } from "./TableInputCell/dropdown.es.js";
14
+ import { DataGridExpandingCell as U, ExpandingCell as X } from "./TableInputCell/expanding.es.js";
15
+ import { DataGridIconCell as Z, IconCell as _ } from "./TableInputCell/icon.es.js";
16
+ import { DataGridLabelCell as ee, LabelCell as ae } from "./TableInputCell/label.es.js";
17
+ import { DataGridSwitchCell as te, SwitchCell as re } from "./TableInputCell/switch.es.js";
18
+ import { DataGridTextInputCell as de, TextInputCell as Ce, getDataGridTextInputCell as pe } from "./TableInputCell/text.es.js";
19
+ import { DataGridTextAreaInputCell as ie, TextAreaInputCell as xe, getDataGridTextAreaInputCell as ne } from "./TableInputCell/textarea.es.js";
20
+ import { getDataGridTableRow as be } from "./TableRow/index.es.js";
21
+ import { TableHeadCellVariant as me } from "./TableHeadCell/types.es.js";
21
22
  export {
22
- P as ButtonCell,
23
- z as CheckboxCell,
23
+ V as ButtonCell,
24
+ F as CheckboxCell,
24
25
  r as ControlPanel,
25
26
  o as ControlPanelContent,
26
- a as DataGrid,
27
- S as DataGridButtonCell,
28
- F as DataGridCheckboxCell,
29
- W as DataGridDateCell,
30
- J as DataGridDropdownCell,
31
- O as DataGridExpandingCell,
32
- X as DataGridIconCell,
33
- _ as DataGridLabelCell,
34
- le as DataGridSwitchCell,
27
+ l as DataGrid,
28
+ s as DataGridButtonCell,
29
+ W as DataGridCheckboxCell,
30
+ q as DataGridDateCell,
31
+ M as DataGridDropdownCell,
32
+ U as DataGridExpandingCell,
33
+ Z as DataGridIconCell,
34
+ ee as DataGridLabelCell,
35
+ te as DataGridSwitchCell,
35
36
  d as DataGridTable,
36
- b as DataGridTableCell,
37
- B as DataGridTableHeadCell,
38
- pe as DataGridTextAreaInputCell,
39
- re as DataGridTextInputCell,
40
- j as DateCell,
41
- K as DropdownCell,
42
- Q as ExpandingCell,
43
- Y as IconCell,
44
- $ as LabelCell,
45
- ae as SwitchCell,
37
+ m as DataGridTableCell,
38
+ A as DataGridTableHeadCell,
39
+ ie as DataGridTextAreaInputCell,
40
+ de as DataGridTextInputCell,
41
+ v as DateCell,
42
+ N as DropdownCell,
43
+ X as ExpandingCell,
44
+ _ as IconCell,
45
+ ae as LabelCell,
46
+ re as SwitchCell,
46
47
  C as Table,
47
- i as TableBody,
48
- G as TableCell,
49
- m as TableCellContent,
50
- w as TableDropdownHeader,
51
- H as TableDropdownItem,
48
+ x as TableBody,
49
+ f as TableCell,
50
+ g as TableCellContent,
51
+ H as TableDropdownHeader,
52
+ I as TableDropdownItem,
52
53
  p as TableFooter,
53
- u as TableHead,
54
+ B as TableHead,
54
55
  R as TableHeadCell,
55
- A as TableHeadCellResizer,
56
- Ge as TableHeadCellVariant,
57
- E as TableHeadRow,
58
- ne as TableRow,
56
+ k as TableHeadCellResizer,
57
+ me as TableHeadCellVariant,
58
+ P as TableHeadRow,
59
59
  D as TableWrapper,
60
- De as TextAreaInputCell,
61
- oe as TextInputCell,
62
- q as getDataGridDateCell,
63
- M as getDataGridDropdownCell,
60
+ xe as TextAreaInputCell,
61
+ Ce as TextInputCell,
62
+ J as getDataGridDateCell,
63
+ O as getDataGridDropdownCell,
64
64
  n as getDataGridTableBody,
65
- f as getDataGridTableCell,
66
- c as getDataGridTableHead,
67
- k as getDataGridTableHeadCell,
68
- Te as getDataGridTableRow,
69
- xe as getDataGridTextAreaInputCell,
70
- de as getDataGridTextInputCell
65
+ b as getDataGridTableBodyVirtual,
66
+ u as getDataGridTableCell,
67
+ h as getDataGridTableHead,
68
+ E as getDataGridTableHeadCell,
69
+ be as getDataGridTableRow,
70
+ ne as getDataGridTextAreaInputCell,
71
+ pe as getDataGridTextInputCell
71
72
  };
72
73
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
package/dist/types.d.ts CHANGED
@@ -1,9 +1,13 @@
1
- import { ReactNode, TableHTMLAttributes } from 'react';
1
+ import { ReactNode, RefObject, TableHTMLAttributes } from 'react';
2
2
  import { ColumnDef, RowData, TableOptions, Cell as ReactTableCell, Header, Row } from '@tanstack/react-table';
3
+ import { VirtualizerOptions } from '@tanstack/react-virtual';
3
4
  import { ColumnItem } from '@join-x5/react-data-grid-settings';
4
5
  import { CSSProperties, QA } from '@join-x5/react-theme';
5
6
  import { TableCellProps } from 'TableCell/types';
6
7
  import { TableHeadCellProps } from 'TableHeadCell/types';
8
+ import { TableRowProps } from './TableRow';
9
+ import { TableBodyProps } from './TableBody';
10
+ import { TableHeadProps } from './TableHead';
7
11
  type DefaultAny = any;
8
12
  export type DataGridColumn<T = DefaultAny, V = DefaultAny> = ColumnDef<T, V>;
9
13
  export type DataGridCellBooleanCallback<T = DefaultAny> = (cell: ReactTableCell<T, DefaultAny>) => boolean;
@@ -13,7 +17,12 @@ export type CellPropsCallback<T = DefaultAny> = (cell: ReactTableCell<T, Default
13
17
  export type HeadCellPropsCallback<T = DefaultAny> = (cell: Header<T, DefaultAny>) => Partial<TableHeadCellProps & {
14
18
  ref?: React.Ref<HTMLTableCellElement>;
15
19
  }>;
16
- export type GetDataGridTableRow<T = DefaultAny> = (row: Row<T>) => ReactNode;
20
+ export type RowPropsCallback<T = DefaultAny> = (row: Row<T>) => Partial<TableRowProps & {
21
+ ref?: React.Ref<HTMLTableRowElement>;
22
+ }>;
23
+ export type GetDataGridTableRow<T = DefaultAny> = (row: Row<T>, props?: Partial<TableRowProps & {
24
+ ref?: React.Ref<HTMLTableRowElement>;
25
+ }>) => ReactNode;
17
26
  export type TableComponents<T = DefaultAny> = {
18
27
  row?: GetDataGridTableRow<T>;
19
28
  };
@@ -29,6 +38,13 @@ export type DataGridProps<T = DefaultAny> = {
29
38
  columnSettings?: ColumnItem[];
30
39
  /** Перегрузка свойств TanStack Table (https://tanstack.com/table/latest/docs/introduction) */
31
40
  tableProps?: Partial<TableOptions<T>>;
41
+ /** Передача инстанса TanStack Table
42
+ *
43
+ * Используется для кастомизации
44
+ *
45
+ * Не используется `state` для хранения таблицы, используйте `ref`
46
+ */
47
+ setTable?: (table: any) => void;
32
48
  /** Флаг многострочности ячеек
33
49
  *
34
50
  * Если передан `true`, то все ячейки будут многострочными.
@@ -39,8 +55,26 @@ export type DataGridProps<T = DefaultAny> = {
39
55
  cellProps?: Partial<TableCellProps> | CellPropsCallback<T>;
40
56
  /** Свойства ячеек */
41
57
  headCellProps?: Partial<TableHeadCellProps> | HeadCellPropsCallback<T>;
58
+ /** Свойства строк */
59
+ rowProps?: Partial<TableRowProps> | RowPropsCallback<T>;
60
+ /** Свойства body */
61
+ bodyProps?: Partial<TableBodyProps>;
62
+ /** Свойства head */
63
+ headProps?: Partial<TableHeadProps>;
42
64
  /** Перегружаемые компоненты */
43
65
  components?: TableComponents;
66
+ /** Виртуализация
67
+ *
68
+ * По умолчанию = `false`
69
+ *
70
+ * Обязательна передача `wrapperRef`
71
+ */
72
+ virtualize?: boolean | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>;
73
+ /** Ref на TableWrapper
74
+ *
75
+ * Используется при виртуализации
76
+ */
77
+ wrapperRef?: RefObject<HTMLDivElement>;
44
78
  } & QA & Partial<Pick<TableCellProps, 'size' | 'isBordered' | 'isShadowed' | 'verticalAlign' | 'textAlign' | 'writingMode' | 'userSelect' | 'wordBreak' | 'whiteSpace'>> & Pick<CSSProperties, 'width'> & Omit<TableHTMLAttributes<HTMLTableElement>, 'width'>;
45
79
  declare module '@tanstack/react-table' {
46
80
  interface ColumnMeta<TData extends RowData, TValue> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@join-x5/react-data-grid",
3
- "version": "1.3.1-alpha-0",
3
+ "version": "1.4.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -38,28 +38,29 @@
38
38
  "rollup-plugin-preserve-directives": "^0.4.0",
39
39
  "typescript": "^5.7.3",
40
40
  "typescript-eslint": "^8.23.0",
41
- "vite": "^5.4.8",
42
- "vite-plugin-dts": "^4.2.4",
43
- "vite-tsconfig-paths": "^5.0.1"
41
+ "vite": "^7.1.5",
42
+ "vite-plugin-dts": "^4.5.4",
43
+ "vite-tsconfig-paths": "^5.1.4"
44
44
  },
45
45
  "dependencies": {
46
46
  "@dnd-kit/core": "^6.2.0",
47
47
  "@dnd-kit/sortable": "^10.0.0",
48
48
  "@emotion/react": "^11.14.0",
49
49
  "@emotion/styled": "^11.14.0",
50
- "@join-x5/react": "1.3.0",
51
- "@join-x5/react-data-grid-settings": "1.3.0",
52
- "@join-x5/react-icons": "1.3.0",
53
- "@join-x5/react-theme": "1.3.0",
54
- "@tanstack/react-table": "^8.21.3"
50
+ "@join-x5/react": "1.4.1",
51
+ "@join-x5/react-data-grid-settings": "1.4.1",
52
+ "@join-x5/react-icons": "1.4.1",
53
+ "@join-x5/react-theme": "1.4.1",
54
+ "@tanstack/react-table": "^8.21.3",
55
+ "@tanstack/react-virtual": "^3.13.12"
55
56
  },
56
57
  "peerDependencies": {
57
58
  "@dnd-kit/core": "^6.2.0",
58
59
  "@emotion/react": "^11.14.0",
59
60
  "@emotion/styled": "^11.14.0",
60
- "@join-x5/react": "1.3.0",
61
- "@join-x5/react-icons": "1.3.0",
62
- "@join-x5/react-theme": "1.3.0",
61
+ "@join-x5/react": "1.4.1",
62
+ "@join-x5/react-icons": "1.4.1",
63
+ "@join-x5/react-theme": "1.4.1",
63
64
  "react": ">=17.0.0",
64
65
  "react-dom": ">=17.0.0"
65
66
  }
@@ -1,26 +0,0 @@
1
- "use client";
2
- import { jsx as l } from "@emotion/react/jsx-runtime";
3
- import R from "@emotion/styled/base";
4
- import { memo as e, useContext as i } from "react";
5
- import { DataGridContext as Z } from "../DataGridContext.es.js";
6
- import { getDataGridTableRow as a } from "../TableRow/index.es.js";
7
- const n = /* @__PURE__ */ R("tbody", process.env.NODE_ENV === "production" ? {
8
- target: "e1p3q9a00"
9
- } : {
10
- target: "e1p3q9a00",
11
- label: "TableBody"
12
- })(process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3NhZHlrb3ZzZC9qb2luLXg1L3BhY2thZ2VzL2RhdGEtZ3JpZC9zcmMvVGFibGVCb2R5L2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXcUMiLCJmaWxlIjoiL2hvbWUvc2FkeWtvdnNkL2pvaW4teDUvcGFja2FnZXMvZGF0YS1ncmlkL3NyYy9UYWJsZUJvZHkvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQge21lbW8sIHVzZUNvbnRleHR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHtEYXRhR3JpZENvbnRleHR9IGZyb20gJ0RhdGFHcmlkQ29udGV4dCc7XG5pbXBvcnQge2dldERhdGFHcmlkVGFibGVSb3d9IGZyb20gJ1RhYmxlUm93JztcblxuaW1wb3J0IHR5cGUge1RhYmxlfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtdGFibGUnO1xuaW1wb3J0IHR5cGUge0RhdGFHcmlkUHJvcHN9IGZyb20gJ3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFRhYmxlQm9keSA9IHN0eWxlZC50Ym9keWBgO1xuXG50eXBlIERhdGFHcmlkVGFibGVCb2R5UHJvcHMgPSB7XG4gIHRhYmxlOiBUYWJsZTx1bmtub3duPjtcbn0gJiBQaWNrPERhdGFHcmlkUHJvcHMsICdjb21wb25lbnRzJz47XG5cbmNvbnN0IERhdGFHcmlkVGFibGVCb2R5OiBSZWFjdC5GQzxEYXRhR3JpZFRhYmxlQm9keVByb3BzPiA9ICh7dGFibGUsIGNvbXBvbmVudHN9KSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KERhdGFHcmlkQ29udGV4dCk7XG4gIGNvbnN0IHJvd3MgPSB0YWJsZS5nZXRSb3dNb2RlbCgpLnJvd3M7XG5cbiAgY29uc3QgaXRlcmF0b3IgPSBjb21wb25lbnRzPy5yb3cgPz8gZ2V0RGF0YUdyaWRUYWJsZVJvdztcblxuICByZXR1cm4gPFRhYmxlQm9keSBkYXRhLXFhPXtgJHtjb250ZXh0LnFhfS1ib2R5YH0+e3Jvd3MubWFwKGl0ZXJhdG9yKX08L1RhYmxlQm9keT47XG59O1xuXG5jb25zdCBNZW1vaXplZERhdGFHcmlkVGFibGVCb2R5ID0gbWVtbyhcbiAgRGF0YUdyaWRUYWJsZUJvZHksXG4gIChwcmV2LCBuZXh0KSA9PiBwcmV2LnRhYmxlLm9wdGlvbnMuZGF0YSA9PT0gbmV4dC50YWJsZS5vcHRpb25zLmRhdGFcbik7XG5cbmV4cG9ydCBjb25zdCBnZXREYXRhR3JpZFRhYmxlQm9keSA9IChcbiAgdGFibGU6IERhdGFHcmlkVGFibGVCb2R5UHJvcHNbJ3RhYmxlJ10sXG4gIGNvbXBvbmVudHM6IERhdGFHcmlkUHJvcHNbJ2NvbXBvbmVudHMnXVxuKSA9PiB7XG4gIGNvbnN0IGlzUmVzaXppbmcgPSB0YWJsZS5nZXRTdGF0ZSgpLmNvbHVtblNpemluZ0luZm8uaXNSZXNpemluZ0NvbHVtbjtcbiAgY29uc3QgQ29tcG9uZW50ID0gaXNSZXNpemluZyA/IE1lbW9pemVkRGF0YUdyaWRUYWJsZUJvZHkgOiBEYXRhR3JpZFRhYmxlQm9keTtcblxuICByZXR1cm4gPENvbXBvbmVudCB0YWJsZT17dGFibGV9IGNvbXBvbmVudHM9e2NvbXBvbmVudHN9IC8+O1xufTtcbiJdfQ== */"), m = ({
13
- table: G,
14
- components: b
15
- }) => {
16
- const d = i(Z), c = G.getRowModel().rows, t = (b == null ? void 0 : b.row) ?? a;
17
- return /* @__PURE__ */ l(n, { "data-qa": `${d.qa}-body`, children: c.map(t) });
18
- }, J = e(m, (G, b) => G.table.options.data === b.table.options.data), u = (G, b) => {
19
- const c = G.getState().columnSizingInfo.isResizingColumn ? J : m;
20
- return /* @__PURE__ */ l(c, { table: G, components: b });
21
- };
22
- export {
23
- n as TableBody,
24
- u as getDataGridTableBody
25
- };
26
- //# sourceMappingURL=index.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.es.js","sources":["../../src/TableBody/index.tsx"],"sourcesContent":["'use client';\n\nimport {memo, useContext} from 'react';\nimport styled from '@emotion/styled';\n\nimport {DataGridContext} from 'DataGridContext';\nimport {getDataGridTableRow} from 'TableRow';\n\nimport type {Table} from '@tanstack/react-table';\nimport type {DataGridProps} from 'types';\n\nexport const TableBody = styled.tbody``;\n\ntype DataGridTableBodyProps = {\n table: Table<unknown>;\n} & Pick<DataGridProps, 'components'>;\n\nconst DataGridTableBody: React.FC<DataGridTableBodyProps> = ({table, components}) => {\n const context = useContext(DataGridContext);\n const rows = table.getRowModel().rows;\n\n const iterator = components?.row ?? getDataGridTableRow;\n\n return <TableBody data-qa={`${context.qa}-body`}>{rows.map(iterator)}</TableBody>;\n};\n\nconst MemoizedDataGridTableBody = memo(\n DataGridTableBody,\n (prev, next) => prev.table.options.data === next.table.options.data\n);\n\nexport const getDataGridTableBody = (\n table: DataGridTableBodyProps['table'],\n components: DataGridProps['components']\n) => {\n const isResizing = table.getState().columnSizingInfo.isResizingColumn;\n const Component = isResizing ? MemoizedDataGridTableBody : DataGridTableBody;\n\n return <Component table={table} components={components} />;\n};\n"],"names":["table"],"mappings":";;;;;;AAWO;AAAe;AAAA;AAAA;AAAA;AAAA;AAMuC;AAACA;AAAiB;AAC7E;AAKA;AACF;AAYE;AAEA;AACF;;;;;"}
@@ -1,2 +0,0 @@
1
- import { HTMLAttributes } from 'react';
2
- export type TableRowProps = HTMLAttributes<HTMLTableRowElement>;