material-react-table 1.1.0-beta.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { MRT_Cell, MRT_Column, MRT_ColumnDef, MRT_FilterOption, MRT_Row, MRT_TableInstance, MRT_TableState, MaterialReactTableProps, MRT_Localization } from '..';
3
- export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(props: Omit<Partial<import("@tanstack/table-core").TableOptions<TData>>, "state" | "data" | "onStateChange" | "initialState" | "columns" | "defaultColumn" | "enableRowSelection" | "expandRowsFn"> & {
3
+ export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(props: Omit<Partial<import("@tanstack/table-core").TableOptions<TData>>, "initialState" | "state" | "onStateChange" | "data" | "columns" | "defaultColumn" | "enableRowSelection" | "expandRowsFn"> & {
4
4
  columnFilterModeOptions?: (string | (string & Record<never, never>))[] | null | undefined;
5
5
  columns: MRT_ColumnDef<TData>[];
6
6
  data: TData[];
@@ -13,7 +13,7 @@ export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(pro
13
13
  "mrt-row-select": Partial<MRT_ColumnDef<{}>>;
14
14
  "mrt-row-numbers": Partial<MRT_ColumnDef<{}>>;
15
15
  }> | undefined;
16
- editingMode?: "cell" | "row" | "table" | "modal" | undefined;
16
+ editingMode?: "row" | "cell" | "table" | "modal" | undefined;
17
17
  enableBottomToolbar?: boolean | undefined;
18
18
  enableClickToCopy?: boolean | undefined;
19
19
  enableColumnActions?: boolean | undefined;
@@ -45,7 +45,7 @@ export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(pro
45
45
  icons?: Partial<import("..").MRT_Icons> | undefined;
46
46
  initialState?: Partial<MRT_TableState<TData>> | undefined;
47
47
  localization?: Partial<MRT_Localization> | undefined;
48
- memoMode?: "cell" | "row" | "table-body" | undefined;
48
+ memoMode?: "rows" | "cells" | "table-body" | undefined;
49
49
  muiBottomToolbarProps?: import("@mui/material").ToolbarProps<"div", {}> | (({ table }: {
50
50
  table: MRT_TableInstance<TData>;
51
51
  }) => import("@mui/material").ToolbarProps<"div", {}>) | undefined;
package/dist/index.d.ts CHANGED
@@ -5,39 +5,6 @@ import { Options, VirtualItem } from 'react-virtual';
5
5
  import * as _tanstack_table_core from '@tanstack/table-core';
6
6
  import { RankingInfo } from '@tanstack/match-sorter-utils';
7
7
 
8
- interface MRT_Icons {
9
- ArrowRightIcon: any;
10
- CancelIcon: any;
11
- CheckBoxIcon: any;
12
- ClearAllIcon: any;
13
- CloseIcon: any;
14
- DensityLargeIcon: any;
15
- DensityMediumIcon: any;
16
- DensitySmallIcon: any;
17
- KeyboardDoubleArrowDownIcon: any;
18
- DragHandleIcon: any;
19
- DynamicFeedIcon: any;
20
- EditIcon: any;
21
- ExpandLessIcon: any;
22
- ExpandMoreIcon: any;
23
- FilterAltIcon: any;
24
- FilterAltOffIcon: any;
25
- FilterListIcon: any;
26
- FilterListOffIcon: any;
27
- FullscreenExitIcon: any;
28
- FullscreenIcon: any;
29
- MoreHorizIcon: any;
30
- MoreVertIcon: any;
31
- PushPinIcon: any;
32
- RestartAltIcon: any;
33
- SaveIcon: any;
34
- SearchIcon: any;
35
- SearchOffIcon: any;
36
- SortIcon: any;
37
- ViewColumnIcon: any;
38
- VisibilityOffIcon: any;
39
- }
40
-
41
8
  declare const MRT_FilterFns: {
42
9
  between: {
43
10
  <TData extends Record<string, any> = {}>(row: Row<TData>, id: string, filterValues: [string | number, string | number]): boolean;
@@ -105,6 +72,39 @@ declare const MRT_FilterFns: {
105
72
  inNumberRange: _tanstack_table_core.FilterFn<any>;
106
73
  };
107
74
 
75
+ interface MRT_Icons {
76
+ ArrowRightIcon: any;
77
+ CancelIcon: any;
78
+ CheckBoxIcon: any;
79
+ ClearAllIcon: any;
80
+ CloseIcon: any;
81
+ DensityLargeIcon: any;
82
+ DensityMediumIcon: any;
83
+ DensitySmallIcon: any;
84
+ KeyboardDoubleArrowDownIcon: any;
85
+ DragHandleIcon: any;
86
+ DynamicFeedIcon: any;
87
+ EditIcon: any;
88
+ ExpandLessIcon: any;
89
+ ExpandMoreIcon: any;
90
+ FilterAltIcon: any;
91
+ FilterAltOffIcon: any;
92
+ FilterListIcon: any;
93
+ FilterListOffIcon: any;
94
+ FullscreenExitIcon: any;
95
+ FullscreenIcon: any;
96
+ MoreHorizIcon: any;
97
+ MoreVertIcon: any;
98
+ PushPinIcon: any;
99
+ RestartAltIcon: any;
100
+ SaveIcon: any;
101
+ SearchIcon: any;
102
+ SearchOffIcon: any;
103
+ SortIcon: any;
104
+ ViewColumnIcon: any;
105
+ VisibilityOffIcon: any;
106
+ }
107
+
108
108
  declare const MRT_SortingFns: {
109
109
  fuzzy: <TData extends Record<string, any> = {}>(rowA: Row<TData>, rowB: Row<TData>, columnId: string) => number;
110
110
  alphanumeric: _tanstack_table_core.SortingFn<any>;
@@ -439,7 +439,7 @@ declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit<Column
439
439
  onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
440
440
  table: MRT_TableInstance<TData>;
441
441
  }) => ReactNode[];
442
- sortingFn?: MRT_SortingFn;
442
+ sortingFn?: MRT_SortingFn<TData>;
443
443
  };
444
444
  declare type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<MRT_ColumnDef<TData>, 'id' | 'defaultDisplayColumn'> & {
445
445
  defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
@@ -564,7 +564,7 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
564
564
  * @warning This will break some dynamic rendering features. See the memoization guide for more info:
565
565
  * @link https://www.material-react-table.com/docs/guides/memoize-components
566
566
  */
567
- memoMode?: 'cell' | 'row' | 'table-body';
567
+ memoMode?: 'cells' | 'rows' | 'table-body';
568
568
  muiBottomToolbarProps?: ToolbarProps | (({ table }: {
569
569
  table: MRT_TableInstance<TData>;
570
570
  }) => ToolbarProps);
@@ -0,0 +1,2 @@
1
+ import { MRT_Localization } from '../MaterialReactTable';
2
+ export declare const MRT_Localization_JA: MRT_Localization;
@@ -0,0 +1,2 @@
1
+ import { MRT_Localization } from '../MaterialReactTable';
2
+ export declare const MRT_Localization_JA: MRT_Localization;
@@ -0,0 +1,92 @@
1
+ const MRT_Localization_JA = {
2
+ actions: '操作',
3
+ and: 'と',
4
+ cancel: 'キャンセル',
5
+ changeFilterMode: '検索モードを変更',
6
+ changeSearchMode: '検索モードを変更',
7
+ clearFilter: 'リセット',
8
+ clearSearch: 'リセット',
9
+ clearSort: '並べ替えを解除',
10
+ clickToCopy: 'クリックでコピー',
11
+ columnActions: '操作',
12
+ copiedToClipboard: 'クリップボードにコピーしました',
13
+ dropToGroupBy: 'ドロップで{column}をグループ化',
14
+ edit: '編集',
15
+ expand: '展開',
16
+ expandAll: 'すべて展開',
17
+ filterArrIncludes: '含む',
18
+ filterArrIncludesAll: '全て含む',
19
+ filterArrIncludesSome: '含む',
20
+ filterBetween: '最大最小',
21
+ filterBetweenInclusive: '間を含む',
22
+ filterByColumn: '{column}を検索',
23
+ filterContains: '含まれる',
24
+ filterEmpty: '空',
25
+ filterEndsWith: 'で終わる',
26
+ filterEquals: '一致',
27
+ filterEqualsString: '一致',
28
+ filterFuzzy: 'あいまい検索',
29
+ filterGreaterThan: 'より大きい',
30
+ filterGreaterThanOrEqualTo: '以上',
31
+ filterInNumberRange: '間',
32
+ filterIncludesString: '含む',
33
+ filterIncludesStringSensitive: '含む',
34
+ filterLessThan: 'より少ない',
35
+ filterLessThanOrEqualTo: '以下',
36
+ filterMode: '検索モード:{filterType}',
37
+ filterNotEmpty: '空ではない',
38
+ filterNotEquals: '不一致',
39
+ filterStartsWith: 'で始まる',
40
+ filterWeakEquals: '等しい',
41
+ filteringByColumn: '{column}によるフィルタリング - {filterType}{filterValue}',
42
+ goToFirstPage: '最初のページへ移動',
43
+ goToLastPage: '最後のページへ移動',
44
+ goToNextPage: '次のページへ移動',
45
+ goToPreviousPage: '前のページに移動',
46
+ grab: '掴む',
47
+ groupByColumn: '{column}をグループ化',
48
+ groupedBy: 'グループ化',
49
+ hideAll: '全て隠す',
50
+ hideColumn: '{column}を隠す',
51
+ max: '最大',
52
+ min: '最小',
53
+ move: '移動',
54
+ noRecordsToDisplay: '表示するレコードがありません',
55
+ noResultsFound: '結果なし',
56
+ of: '/',
57
+ or: 'または',
58
+ pinToLeft: '左に固定',
59
+ pinToRight: '右に固定',
60
+ resetColumnSize: '列のサイズをリセット',
61
+ resetOrder: '並べ替えをリセット',
62
+ rowActions: '行の操作',
63
+ rowNumber: 'No.',
64
+ rowNumbers: '行番号',
65
+ rowsPerPage: '表示件数',
66
+ save: '保存',
67
+ search: '検索',
68
+ selectedCountOfRowCountRowsSelected: '{rowCount}行中{selectedCount}行が選択されました',
69
+ select: '選択',
70
+ showAll: '全て表示',
71
+ showAllColumns: 'すべての列を表示',
72
+ showHideColumns: '列の表示状態',
73
+ showHideFilters: '検索バーを表示',
74
+ showHideSearch: '検索',
75
+ sortByColumnAsc: '{column}を昇順でを並べ替え',
76
+ sortByColumnDesc: '{column}を降順でを並べ替え',
77
+ sortedByColumnAsc: '{column}を昇順でを並べ替え',
78
+ sortedByColumnDesc: '{column}を降順でを並べ替え',
79
+ thenBy: 'さらに',
80
+ toggleDensity: 'テーブルの高さを変更',
81
+ toggleFullScreen: 'フルスクリーン切り替え',
82
+ toggleSelectAll: 'すべて選択',
83
+ toggleSelectRow: '選択',
84
+ toggleVisibility: '表示を切り替え',
85
+ ungroupByColumn: '{column}のグループ解除',
86
+ unpin: '固定を解除',
87
+ unpinAll: 'すべての固定を解除',
88
+ unsorted: '並べ替える',
89
+ };
90
+
91
+ export { MRT_Localization_JA };
92
+ //# sourceMappingURL=ja.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja.esm.js","sources":["../src/_locales/ja.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/locales/ja.js ADDED
@@ -0,0 +1,96 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const MRT_Localization_JA = {
6
+ actions: '操作',
7
+ and: 'と',
8
+ cancel: 'キャンセル',
9
+ changeFilterMode: '検索モードを変更',
10
+ changeSearchMode: '検索モードを変更',
11
+ clearFilter: 'リセット',
12
+ clearSearch: 'リセット',
13
+ clearSort: '並べ替えを解除',
14
+ clickToCopy: 'クリックでコピー',
15
+ columnActions: '操作',
16
+ copiedToClipboard: 'クリップボードにコピーしました',
17
+ dropToGroupBy: 'ドロップで{column}をグループ化',
18
+ edit: '編集',
19
+ expand: '展開',
20
+ expandAll: 'すべて展開',
21
+ filterArrIncludes: '含む',
22
+ filterArrIncludesAll: '全て含む',
23
+ filterArrIncludesSome: '含む',
24
+ filterBetween: '最大最小',
25
+ filterBetweenInclusive: '間を含む',
26
+ filterByColumn: '{column}を検索',
27
+ filterContains: '含まれる',
28
+ filterEmpty: '空',
29
+ filterEndsWith: 'で終わる',
30
+ filterEquals: '一致',
31
+ filterEqualsString: '一致',
32
+ filterFuzzy: 'あいまい検索',
33
+ filterGreaterThan: 'より大きい',
34
+ filterGreaterThanOrEqualTo: '以上',
35
+ filterInNumberRange: '間',
36
+ filterIncludesString: '含む',
37
+ filterIncludesStringSensitive: '含む',
38
+ filterLessThan: 'より少ない',
39
+ filterLessThanOrEqualTo: '以下',
40
+ filterMode: '検索モード:{filterType}',
41
+ filterNotEmpty: '空ではない',
42
+ filterNotEquals: '不一致',
43
+ filterStartsWith: 'で始まる',
44
+ filterWeakEquals: '等しい',
45
+ filteringByColumn: '{column}によるフィルタリング - {filterType}{filterValue}',
46
+ goToFirstPage: '最初のページへ移動',
47
+ goToLastPage: '最後のページへ移動',
48
+ goToNextPage: '次のページへ移動',
49
+ goToPreviousPage: '前のページに移動',
50
+ grab: '掴む',
51
+ groupByColumn: '{column}をグループ化',
52
+ groupedBy: 'グループ化',
53
+ hideAll: '全て隠す',
54
+ hideColumn: '{column}を隠す',
55
+ max: '最大',
56
+ min: '最小',
57
+ move: '移動',
58
+ noRecordsToDisplay: '表示するレコードがありません',
59
+ noResultsFound: '結果なし',
60
+ of: '/',
61
+ or: 'または',
62
+ pinToLeft: '左に固定',
63
+ pinToRight: '右に固定',
64
+ resetColumnSize: '列のサイズをリセット',
65
+ resetOrder: '並べ替えをリセット',
66
+ rowActions: '行の操作',
67
+ rowNumber: 'No.',
68
+ rowNumbers: '行番号',
69
+ rowsPerPage: '表示件数',
70
+ save: '保存',
71
+ search: '検索',
72
+ selectedCountOfRowCountRowsSelected: '{rowCount}行中{selectedCount}行が選択されました',
73
+ select: '選択',
74
+ showAll: '全て表示',
75
+ showAllColumns: 'すべての列を表示',
76
+ showHideColumns: '列の表示状態',
77
+ showHideFilters: '検索バーを表示',
78
+ showHideSearch: '検索',
79
+ sortByColumnAsc: '{column}を昇順でを並べ替え',
80
+ sortByColumnDesc: '{column}を降順でを並べ替え',
81
+ sortedByColumnAsc: '{column}を昇順でを並べ替え',
82
+ sortedByColumnDesc: '{column}を降順でを並べ替え',
83
+ thenBy: 'さらに',
84
+ toggleDensity: 'テーブルの高さを変更',
85
+ toggleFullScreen: 'フルスクリーン切り替え',
86
+ toggleSelectAll: 'すべて選択',
87
+ toggleSelectRow: '選択',
88
+ toggleVisibility: '表示を切り替え',
89
+ ungroupByColumn: '{column}のグループ解除',
90
+ unpin: '固定を解除',
91
+ unpinAll: 'すべての固定を解除',
92
+ unsorted: '並べ替える',
93
+ };
94
+
95
+ exports.MRT_Localization_JA = MRT_Localization_JA;
96
+ //# sourceMappingURL=ja.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja.js","sources":["../src/_locales/ja.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.0-beta.0",
2
+ "version": "1.1.0",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table",
5
5
  "description": "A fully featured Material UI V5 implementation of TanStack React Table V8, written from the ground up in TypeScript.",
@@ -50,26 +50,26 @@
50
50
  "storybook": "start-storybook -p 6006"
51
51
  },
52
52
  "devDependencies": {
53
- "@babel/core": "^7.19.0",
53
+ "@babel/core": "^7.19.1",
54
54
  "@babel/preset-react": "^7.18.6",
55
55
  "@emotion/react": "^11.10.4",
56
56
  "@emotion/styled": "^11.10.4",
57
57
  "@faker-js/faker": "^7.5.0",
58
- "@mui/icons-material": "^5.10.3",
59
- "@mui/material": "^5.10.5",
58
+ "@mui/icons-material": "^5.10.6",
59
+ "@mui/material": "^5.10.6",
60
60
  "@rollup/plugin-babel": "^5.3.1",
61
61
  "@rollup/plugin-node-resolve": "^14.1.0",
62
62
  "@rollup/plugin-typescript": "^8.5.0",
63
63
  "@size-limit/preset-small-lib": "^8.1.0",
64
- "@storybook/addon-a11y": "^6.5.10",
65
- "@storybook/addon-actions": "^6.5.10",
66
- "@storybook/addon-essentials": "^6.5.10",
64
+ "@storybook/addon-a11y": "^6.5.12",
65
+ "@storybook/addon-actions": "^6.5.12",
66
+ "@storybook/addon-essentials": "^6.5.12",
67
67
  "@storybook/addon-info": "^5.3.21",
68
- "@storybook/addon-links": "^6.5.10",
69
- "@storybook/addon-storysource": "^6.5.10",
70
- "@storybook/addons": "^6.5.10",
71
- "@storybook/react": "^6.5.10",
72
- "@types/react": "^18.0.19",
68
+ "@storybook/addon-links": "^6.5.12",
69
+ "@storybook/addon-storysource": "^6.5.12",
70
+ "@storybook/addons": "^6.5.12",
71
+ "@storybook/react": "^6.5.12",
72
+ "@types/react": "^18.0.20",
73
73
  "@types/react-dom": "^18.0.6",
74
74
  "babel-loader": "^8.2.5",
75
75
  "eslint": "^8.23.1",
@@ -84,7 +84,7 @@
84
84
  "rollup-plugin-dts": "^4.2.2",
85
85
  "rollup-plugin-peer-deps-external": "^2.2.4",
86
86
  "size-limit": "^8.1.0",
87
- "storybook-dark-mode": "^1.1.0",
87
+ "storybook-dark-mode": "^1.1.2",
88
88
  "tslib": "^2.4.0",
89
89
  "typescript": "^4.8.3"
90
90
  },
@@ -44,12 +44,12 @@ import type {
44
44
  import type { Options as VirtualizerOptions, VirtualItem } from 'react-virtual';
45
45
  // import type { VirtualizerOptions } from '@tanstack/react-virtual';
46
46
  import { MRT_AggregationFns } from './aggregationFns';
47
- import { MRT_Default_Icons, MRT_Icons } from './icons';
47
+ import { MRT_DefaultColumn, MRT_DefaultDisplayColumn } from './column.utils';
48
48
  import { MRT_FilterFns } from './filterFns';
49
- import { MRT_Localization_EN } from './_locales/en';
49
+ import { MRT_Default_Icons, MRT_Icons } from './icons';
50
50
  import { MRT_SortingFns } from './sortingFns';
51
51
  import { MRT_TableRoot } from './table/MRT_TableRoot';
52
- import { MRT_DefaultColumn, MRT_DefaultDisplayColumn } from './column.utils';
52
+ import { MRT_Localization_EN } from './_locales/en';
53
53
 
54
54
  /**
55
55
  * Most of this file is just TypeScript types
@@ -500,7 +500,7 @@ export type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit<
500
500
  onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
501
501
  table: MRT_TableInstance<TData>;
502
502
  }) => ReactNode[];
503
- sortingFn?: MRT_SortingFn;
503
+ sortingFn?: MRT_SortingFn<TData>;
504
504
  };
505
505
 
506
506
  export type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<
@@ -676,11 +676,11 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
676
676
  localization?: Partial<MRT_Localization>;
677
677
  /**
678
678
  * Memoize cells, rows, or the entire table body to potentially improve render performance.
679
- *
679
+ *
680
680
  * @warning This will break some dynamic rendering features. See the memoization guide for more info:
681
681
  * @link https://www.material-react-table.com/docs/guides/memoize-components
682
682
  */
683
- memoMode?: 'cell' | 'row' | 'table-body';
683
+ memoMode?: 'cells' | 'rows' | 'table-body';
684
684
  muiBottomToolbarProps?:
685
685
  | ToolbarProps
686
686
  | (({ table }: { table: MRT_TableInstance<TData> }) => ToolbarProps);
@@ -1 +1,92 @@
1
- //Not supported yet, but if you want to help, copy en.ts file contents here and translate, then make a PR
1
+ import { MRT_Localization } from '../MaterialReactTable';
2
+
3
+ export const MRT_Localization_JA: MRT_Localization = {
4
+ actions: '操作',
5
+ and: 'と',
6
+ cancel: 'キャンセル',
7
+ changeFilterMode: '検索モードを変更',
8
+ changeSearchMode: '検索モードを変更',
9
+ clearFilter: 'リセット',
10
+ clearSearch: 'リセット',
11
+ clearSort: '並べ替えを解除',
12
+ clickToCopy: 'クリックでコピー',
13
+ columnActions: '操作',
14
+ copiedToClipboard: 'クリップボードにコピーしました',
15
+ dropToGroupBy: 'ドロップで{column}をグループ化',
16
+ edit: '編集',
17
+ expand: '展開',
18
+ expandAll: 'すべて展開',
19
+ filterArrIncludes: '含む',
20
+ filterArrIncludesAll: '全て含む',
21
+ filterArrIncludesSome: '含む',
22
+ filterBetween: '最大最小',
23
+ filterBetweenInclusive: '間を含む',
24
+ filterByColumn: '{column}を検索',
25
+ filterContains: '含まれる',
26
+ filterEmpty: '空',
27
+ filterEndsWith: 'で終わる',
28
+ filterEquals: '一致',
29
+ filterEqualsString: '一致',
30
+ filterFuzzy: 'あいまい検索',
31
+ filterGreaterThan: 'より大きい',
32
+ filterGreaterThanOrEqualTo: '以上',
33
+ filterInNumberRange: '間',
34
+ filterIncludesString: '含む',
35
+ filterIncludesStringSensitive: '含む',
36
+ filterLessThan: 'より少ない',
37
+ filterLessThanOrEqualTo: '以下',
38
+ filterMode: '検索モード:{filterType}',
39
+ filterNotEmpty: '空ではない',
40
+ filterNotEquals: '不一致',
41
+ filterStartsWith: 'で始まる',
42
+ filterWeakEquals: '等しい',
43
+ filteringByColumn: '{column}によるフィルタリング - {filterType}{filterValue}',
44
+ goToFirstPage: '最初のページへ移動',
45
+ goToLastPage: '最後のページへ移動',
46
+ goToNextPage: '次のページへ移動',
47
+ goToPreviousPage: '前のページに移動',
48
+ grab: '掴む',
49
+ groupByColumn: '{column}をグループ化',
50
+ groupedBy: 'グループ化',
51
+ hideAll: '全て隠す',
52
+ hideColumn: '{column}を隠す',
53
+ max: '最大',
54
+ min: '最小',
55
+ move: '移動',
56
+ noRecordsToDisplay: '表示するレコードがありません',
57
+ noResultsFound: '結果なし',
58
+ of: '/',
59
+ or: 'または',
60
+ pinToLeft: '左に固定',
61
+ pinToRight: '右に固定',
62
+ resetColumnSize: '列のサイズをリセット',
63
+ resetOrder: '並べ替えをリセット',
64
+ rowActions: '行の操作',
65
+ rowNumber: 'No.',
66
+ rowNumbers: '行番号',
67
+ rowsPerPage: '表示件数',
68
+ save: '保存',
69
+ search: '検索',
70
+ selectedCountOfRowCountRowsSelected:
71
+ '{rowCount}行中{selectedCount}行が選択されました',
72
+ select: '選択',
73
+ showAll: '全て表示',
74
+ showAllColumns: 'すべての列を表示',
75
+ showHideColumns: '列の表示状態',
76
+ showHideFilters: '検索バーを表示',
77
+ showHideSearch: '検索',
78
+ sortByColumnAsc: '{column}を昇順でを並べ替え',
79
+ sortByColumnDesc: '{column}を降順でを並べ替え',
80
+ sortedByColumnAsc: '{column}を昇順でを並べ替え',
81
+ sortedByColumnDesc: '{column}を降順でを並べ替え',
82
+ thenBy: 'さらに',
83
+ toggleDensity: 'テーブルの高さを変更',
84
+ toggleFullScreen: 'フルスクリーン切り替え',
85
+ toggleSelectAll: 'すべて選択',
86
+ toggleSelectRow: '選択',
87
+ toggleVisibility: '表示を切り替え',
88
+ ungroupByColumn: '{column}のグループ解除',
89
+ unpin: '固定を解除',
90
+ unpinAll: 'すべての固定を解除',
91
+ unsorted: '並べ替える',
92
+ };
@@ -151,6 +151,7 @@ export const MRT_TableBody: FC<Props> = ({ table }) => {
151
151
  : (rowOrVirtualRow as MRT_Row);
152
152
  const props = {
153
153
  key: row.id,
154
+ numRows: rows.length,
154
155
  row,
155
156
  rowIndex: enableRowVirtualization
156
157
  ? rowOrVirtualRow.index
@@ -158,7 +159,7 @@ export const MRT_TableBody: FC<Props> = ({ table }) => {
158
159
  table,
159
160
  virtualRow: enableRowVirtualization ? rowOrVirtualRow : null,
160
161
  };
161
- return memoMode === 'row' ? (
162
+ return memoMode === 'rows' ? (
162
163
  <Memo_MRT_TableBodyRow {...props} />
163
164
  ) : (
164
165
  <MRT_TableBodyRow {...props} />
@@ -176,4 +177,7 @@ export const MRT_TableBody: FC<Props> = ({ table }) => {
176
177
  );
177
178
  };
178
179
 
179
- export const Memo_MRT_TableBody = memo(MRT_TableBody, () => true);
180
+ export const Memo_MRT_TableBody = memo(
181
+ MRT_TableBody,
182
+ (prev, next) => prev.table.options.data === next.table.options.data,
183
+ );
@@ -5,6 +5,7 @@ import React, {
5
5
  MouseEvent,
6
6
  RefObject,
7
7
  useEffect,
8
+ useMemo,
8
9
  useState,
9
10
  } from 'react';
10
11
  import { darken, lighten, Skeleton, TableCell, useTheme } from '@mui/material';
@@ -18,6 +19,7 @@ import type { MRT_Cell, MRT_TableInstance } from '..';
18
19
  interface Props {
19
20
  cell: MRT_Cell;
20
21
  enableHover?: boolean;
22
+ numRows: number;
21
23
  rowIndex: number;
22
24
  rowRef: RefObject<HTMLTableRowElement>;
23
25
  table: MRT_TableInstance;
@@ -26,6 +28,7 @@ interface Props {
26
28
  export const MRT_TableBodyCell: FC<Props> = ({
27
29
  cell,
28
30
  enableHover,
31
+ numRows,
29
32
  rowIndex,
30
33
  rowRef,
31
34
  table,
@@ -39,7 +42,6 @@ export const MRT_TableBodyCell: FC<Props> = ({
39
42
  enableColumnOrdering,
40
43
  enableEditing,
41
44
  enableGrouping,
42
- enablePagination,
43
45
  enableRowNumbers,
44
46
  muiTableBodyCellProps,
45
47
  muiTableBodyCellSkeletonProps,
@@ -82,17 +84,6 @@ export const MRT_TableBodyCell: FC<Props> = ({
82
84
  ? muiTableBodyCellSkeletonProps({ cell, column, row, table })
83
85
  : muiTableBodyCellSkeletonProps;
84
86
 
85
- const isEditable =
86
- (enableEditing || columnDef.enableEditing) &&
87
- columnDef.enableEditing !== false;
88
-
89
- const isEditing =
90
- isEditable &&
91
- editingMode !== 'modal' &&
92
- (editingMode === 'table' ||
93
- editingRow?.id === row.id ||
94
- editingCell?.id === cell.id);
95
-
96
87
  const [skeletonWidth, setSkeletonWidth] = useState(0);
97
88
  useEffect(
98
89
  () =>
@@ -106,9 +97,42 @@ export const MRT_TableBodyCell: FC<Props> = ({
106
97
  )
107
98
  : 100,
108
99
  ),
109
- [isLoading, showSkeletons],
100
+ [],
101
+ );
102
+
103
+ const draggingBorder = useMemo(
104
+ () =>
105
+ draggingColumn?.id === column.id
106
+ ? `1px dashed ${theme.palette.text.secondary}`
107
+ : hoveredColumn?.id === column.id
108
+ ? `2px dashed ${theme.palette.primary.main}`
109
+ : undefined,
110
+ [draggingColumn, hoveredColumn],
110
111
  );
111
112
 
113
+ const draggingBorders = useMemo(
114
+ () =>
115
+ draggingBorder
116
+ ? {
117
+ borderLeft: draggingBorder,
118
+ borderRight: draggingBorder,
119
+ borderBottom: rowIndex === numRows - 1 ? draggingBorder : undefined,
120
+ }
121
+ : undefined,
122
+ [draggingBorder, numRows],
123
+ );
124
+
125
+ const isEditable =
126
+ (enableEditing || columnDef.enableEditing) &&
127
+ columnDef.enableEditing !== false;
128
+
129
+ const isEditing =
130
+ isEditable &&
131
+ editingMode !== 'modal' &&
132
+ (editingMode === 'table' ||
133
+ editingRow?.id === row.id ||
134
+ editingCell?.id === cell.id);
135
+
112
136
  const handleDoubleClick = (event: MouseEvent<HTMLTableCellElement>) => {
113
137
  tableCellProps?.onDoubleClick?.(event);
114
138
  if (
@@ -139,29 +163,6 @@ export const MRT_TableBodyCell: FC<Props> = ({
139
163
  }
140
164
  };
141
165
 
142
- const draggingBorder =
143
- draggingColumn?.id === column.id
144
- ? `1px dashed ${theme.palette.text.secondary}`
145
- : hoveredColumn?.id === column.id
146
- ? `2px dashed ${theme.palette.primary.main}`
147
- : undefined;
148
-
149
- const draggingBorders = draggingBorder
150
- ? {
151
- borderLeft: draggingBorder,
152
- borderRight: draggingBorder,
153
- borderBottom:
154
- row.index ===
155
- (enablePagination
156
- ? table.getRowModel()
157
- : table.getPrePaginationRowModel()
158
- ).rows.length -
159
- 1
160
- ? draggingBorder
161
- : undefined,
162
- }
163
- : undefined;
164
-
165
166
  return (
166
167
  <TableCell
167
168
  {...tableCellProps}