@mini_7/material-react-table-mcp 4.0.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 (170) hide show
  1. package/README.md +68 -0
  2. package/data/MIGRATION.md +136 -0
  3. package/data/api.json +5379 -0
  4. package/data/examples/advanced.tsx +309 -0
  5. package/data/examples/aggregation-and-grouping.tsx +153 -0
  6. package/data/examples/aggregation-multi.tsx +105 -0
  7. package/data/examples/alternate-column-filtering.tsx +49 -0
  8. package/data/examples/alternate-detail-panel.tsx +81 -0
  9. package/data/examples/alternate-pagination.tsx +23 -0
  10. package/data/examples/basic.tsx +109 -0
  11. package/data/examples/chart-detail-panel.tsx +89 -0
  12. package/data/examples/column-actions-space.tsx +44 -0
  13. package/data/examples/column-alignment.tsx +70 -0
  14. package/data/examples/custom-column-actions.tsx +109 -0
  15. package/data/examples/custom-column-filtering-ui.tsx +89 -0
  16. package/data/examples/custom-headless.tsx +125 -0
  17. package/data/examples/custom-top-toolbar.tsx +88 -0
  18. package/data/examples/customize-display-columns.tsx +85 -0
  19. package/data/examples/customize-filter-components.tsx +101 -0
  20. package/data/examples/customize-filter-modes.tsx +73 -0
  21. package/data/examples/customize-filter-variants.tsx +116 -0
  22. package/data/examples/customize-global-filter-component.tsx +52 -0
  23. package/data/examples/customize-remove-column-grouping.tsx +94 -0
  24. package/data/examples/customize-row-selection.tsx +54 -0
  25. package/data/examples/customize-table-styles.tsx +100 -0
  26. package/data/examples/disable-column-actions.tsx +37 -0
  27. package/data/examples/disable-column-hiding.tsx +90 -0
  28. package/data/examples/disable-density-toggle.tsx +49 -0
  29. package/data/examples/dynamic-columns.tsx +189 -0
  30. package/data/examples/editing-crud-cell.tsx +377 -0
  31. package/data/examples/editing-crud-modal.tsx +370 -0
  32. package/data/examples/editing-crud-row.tsx +333 -0
  33. package/data/examples/editing-crud-table.tsx +369 -0
  34. package/data/examples/editing-crud-tree.tsx +416 -0
  35. package/data/examples/enable-cell-actions.tsx +76 -0
  36. package/data/examples/enable-click-to-copy.tsx +39 -0
  37. package/data/examples/enable-column-grouping.tsx +120 -0
  38. package/data/examples/enable-column-ordering.tsx +48 -0
  39. package/data/examples/enable-column-pinning.tsx +69 -0
  40. package/data/examples/enable-column-resizing.tsx +56 -0
  41. package/data/examples/enable-column-virtualization.tsx +27 -0
  42. package/data/examples/enable-detail-panel-conditionally.tsx +78 -0
  43. package/data/examples/enable-detail-panel-virtualized.tsx +80 -0
  44. package/data/examples/enable-expanding-tree.tsx +110 -0
  45. package/data/examples/enable-filter-facet-values.tsx +65 -0
  46. package/data/examples/enable-row-dragging.tsx +137 -0
  47. package/data/examples/enable-row-numbers-original.tsx +48 -0
  48. package/data/examples/enable-row-numbers-static.tsx +48 -0
  49. package/data/examples/enable-row-ordering.tsx +57 -0
  50. package/data/examples/enable-row-pinning-select.tsx +76 -0
  51. package/data/examples/enable-row-pinning-static.tsx +50 -0
  52. package/data/examples/enable-row-pinning-sticky.tsx +69 -0
  53. package/data/examples/enable-row-selection.tsx +96 -0
  54. package/data/examples/enable-row-virtualization.tsx +101 -0
  55. package/data/examples/enable-sticky-header.tsx +59 -0
  56. package/data/examples/expanding-tree-expanded.tsx +121 -0
  57. package/data/examples/expanding-tree-flat-parse.tsx +125 -0
  58. package/data/examples/expanding-tree-root-expanded.tsx +151 -0
  59. package/data/examples/export-to-csv.tsx +114 -0
  60. package/data/examples/export-to-pdf.tsx +104 -0
  61. package/data/examples/external-toolbar.tsx +108 -0
  62. package/data/examples/font-awesome-icons.tsx +106 -0
  63. package/data/examples/infinite-scrolling.tsx +208 -0
  64. package/data/examples/lazy-detail-panel.tsx +262 -0
  65. package/data/examples/lazy-sub-rows.tsx +190 -0
  66. package/data/examples/linear-progress.tsx +66 -0
  67. package/data/examples/loading.tsx +50 -0
  68. package/data/examples/localization-i18n-ar.tsx +65 -0
  69. package/data/examples/localization-i18n-az.tsx +60 -0
  70. package/data/examples/localization-i18n-bg.tsx +60 -0
  71. package/data/examples/localization-i18n-cs.tsx +60 -0
  72. package/data/examples/localization-i18n-da.tsx +60 -0
  73. package/data/examples/localization-i18n-de.tsx +60 -0
  74. package/data/examples/localization-i18n-el.tsx +60 -0
  75. package/data/examples/localization-i18n-en.tsx +60 -0
  76. package/data/examples/localization-i18n-es.tsx +60 -0
  77. package/data/examples/localization-i18n-et.tsx +60 -0
  78. package/data/examples/localization-i18n-fa.tsx +66 -0
  79. package/data/examples/localization-i18n-fi.tsx +60 -0
  80. package/data/examples/localization-i18n-fr.tsx +60 -0
  81. package/data/examples/localization-i18n-he.tsx +66 -0
  82. package/data/examples/localization-i18n-hr.tsx +60 -0
  83. package/data/examples/localization-i18n-hu.tsx +60 -0
  84. package/data/examples/localization-i18n-hy.tsx +65 -0
  85. package/data/examples/localization-i18n-id.tsx +60 -0
  86. package/data/examples/localization-i18n-it.tsx +60 -0
  87. package/data/examples/localization-i18n-ja.tsx +60 -0
  88. package/data/examples/localization-i18n-ko.tsx +60 -0
  89. package/data/examples/localization-i18n-nl.tsx +60 -0
  90. package/data/examples/localization-i18n-no.tsx +60 -0
  91. package/data/examples/localization-i18n-np.tsx +60 -0
  92. package/data/examples/localization-i18n-pl.tsx +60 -0
  93. package/data/examples/localization-i18n-pt-BR.tsx +60 -0
  94. package/data/examples/localization-i18n-pt.tsx +60 -0
  95. package/data/examples/localization-i18n-ro.tsx +60 -0
  96. package/data/examples/localization-i18n-ru.tsx +60 -0
  97. package/data/examples/localization-i18n-sk.tsx +60 -0
  98. package/data/examples/localization-i18n-sr-Cyrl-RS.tsx +60 -0
  99. package/data/examples/localization-i18n-sr-Latn-RS.tsx +60 -0
  100. package/data/examples/localization-i18n-sv.tsx +60 -0
  101. package/data/examples/localization-i18n-tr.tsx +60 -0
  102. package/data/examples/localization-i18n-uk.tsx +60 -0
  103. package/data/examples/localization-i18n-vi.tsx +60 -0
  104. package/data/examples/localization-i18n-zh-hans.tsx +60 -0
  105. package/data/examples/localization-i18n-zh-hant.tsx +60 -0
  106. package/data/examples/manual-selection.tsx +105 -0
  107. package/data/examples/minimal.tsx +78 -0
  108. package/data/examples/mui-theme.tsx +136 -0
  109. package/data/examples/multi-sorting.tsx +58 -0
  110. package/data/examples/persistent-state.tsx +184 -0
  111. package/data/examples/react-query.tsx +182 -0
  112. package/data/examples/remote.tsx +150 -0
  113. package/data/examples/row-actions-buttons.tsx +89 -0
  114. package/data/examples/row-actions-menu-items.tsx +64 -0
  115. package/data/examples/single-row-selection.tsx +98 -0
  116. package/data/examples/virtualized.tsx +138 -0
  117. package/data/guides/accessibility.md +119 -0
  118. package/data/guides/aggregation.md +210 -0
  119. package/data/guides/async-loading.md +132 -0
  120. package/data/guides/best-practices.md +363 -0
  121. package/data/guides/cell-actions.md +139 -0
  122. package/data/guides/click-to-copy.md +67 -0
  123. package/data/guides/column-actions.md +69 -0
  124. package/data/guides/column-filtering.md +366 -0
  125. package/data/guides/column-grouping.md +192 -0
  126. package/data/guides/column-hiding.md +133 -0
  127. package/data/guides/column-ordering-dnd.md +99 -0
  128. package/data/guides/column-pinning.md +72 -0
  129. package/data/guides/column-resizing.md +157 -0
  130. package/data/guides/column-size.md +162 -0
  131. package/data/guides/customize-components.md +395 -0
  132. package/data/guides/customize-icons.md +35 -0
  133. package/data/guides/data-columns.md +292 -0
  134. package/data/guides/density-toggle.md +46 -0
  135. package/data/guides/detail-panel.md +195 -0
  136. package/data/guides/display-columns.md +135 -0
  137. package/data/guides/editing.md +367 -0
  138. package/data/guides/expanding-sub-rows.md +194 -0
  139. package/data/guides/full-screen-toggle.md +63 -0
  140. package/data/guides/global-filtering.md +237 -0
  141. package/data/guides/localization.md +57 -0
  142. package/data/guides/memoization.md +157 -0
  143. package/data/guides/pagination.md +171 -0
  144. package/data/guides/row-actions.md +116 -0
  145. package/data/guides/row-numbers.md +24 -0
  146. package/data/guides/row-ordering-dnd.md +51 -0
  147. package/data/guides/row-pinning.md +96 -0
  148. package/data/guides/row-selection.md +237 -0
  149. package/data/guides/sorting.md +190 -0
  150. package/data/guides/state-management.md +165 -0
  151. package/data/guides/sticky-header.md +41 -0
  152. package/data/guides/table-event-listeners.md +103 -0
  153. package/data/guides/toolbar-customization.md +251 -0
  154. package/data/guides/virtualization.md +183 -0
  155. package/data/index.json +1930 -0
  156. package/data/reference/mrt-components.md +183 -0
  157. package/data/reference/mrt-hooks.md +125 -0
  158. package/data/skills/composable-components/SKILL.md +189 -0
  159. package/data/skills/customization/SKILL.md +190 -0
  160. package/data/skills/drag-and-drop-ordering/SKILL.md +227 -0
  161. package/data/skills/editing/SKILL.md +243 -0
  162. package/data/skills/filtering/SKILL.md +213 -0
  163. package/data/skills/getting-started/SKILL.md +213 -0
  164. package/data/skills/localization/SKILL.md +182 -0
  165. package/data/skills/migrate-v3-to-v4/SKILL.md +161 -0
  166. package/data/skills/state-and-server-data/SKILL.md +200 -0
  167. package/data/skills/virtualization/SKILL.md +203 -0
  168. package/dist/data.js +137 -0
  169. package/dist/index.js +232 -0
  170. package/package.json +50 -0
@@ -0,0 +1,66 @@
1
+ import { useEffect, useMemo, useState } from 'react';
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+ import { data, type Person } from './makeData';
4
+ import { Button } from '@mui/material';
5
+
6
+ const Example = () => {
7
+ const columns = useMemo<MRT_ColumnDef<Person>[]>(
8
+ //column definitions...
9
+ () => [
10
+ {
11
+ accessorKey: 'firstName',
12
+ header: 'First Name',
13
+ },
14
+ {
15
+ accessorKey: 'lastName',
16
+ header: 'Last Name',
17
+ },
18
+ {
19
+ accessorKey: 'email',
20
+ header: 'Email',
21
+ },
22
+ {
23
+ accessorKey: 'city',
24
+ header: 'City',
25
+ },
26
+ ],
27
+ [],
28
+ //end
29
+ );
30
+
31
+ const [progress, setProgress] = useState(0);
32
+
33
+ //simulate random progress for demo purposes
34
+ useEffect(() => {
35
+ const interval = setInterval(() => {
36
+ setProgress((oldProgress) => {
37
+ const newProgress = Math.random() * 20;
38
+ return Math.min(oldProgress + newProgress, 100);
39
+ });
40
+ }, 1000);
41
+ return () => clearInterval(interval);
42
+ }, []);
43
+
44
+ return (
45
+ <MaterialReactTable
46
+ columns={columns}
47
+ data={data}
48
+ muiLinearProgressProps={({ isTopToolbar }) => ({
49
+ color: 'secondary',
50
+ variant: 'determinate', //if you want to show exact progress value
51
+ value: progress, //value between 0 and 100
52
+ sx: {
53
+ display: isTopToolbar ? 'block' : 'none', //hide bottom progress bar
54
+ },
55
+ })}
56
+ renderTopToolbarCustomActions={() => (
57
+ <Button onClick={() => setProgress(0)} variant="contained">
58
+ Reset
59
+ </Button>
60
+ )}
61
+ state={{ showProgressBars: true }}
62
+ />
63
+ );
64
+ };
65
+
66
+ export default Example;
@@ -0,0 +1,50 @@
1
+ import { useMemo } from 'react';
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+ import { type Person } from './makeData';
4
+
5
+ const data: Array<Person> = [];
6
+
7
+ const Example = () => {
8
+ const columns = useMemo<MRT_ColumnDef<Person>[]>(
9
+ //column definitions...
10
+ () => [
11
+ {
12
+ accessorKey: 'firstName',
13
+ header: 'First Name',
14
+ },
15
+ {
16
+ accessorKey: 'lastName',
17
+ header: 'Last Name',
18
+ },
19
+ {
20
+ accessorKey: 'email',
21
+ header: 'Email',
22
+ },
23
+ {
24
+ accessorKey: 'city',
25
+ header: 'City',
26
+ },
27
+ ],
28
+ [],
29
+ //end
30
+ );
31
+
32
+ return (
33
+ <MaterialReactTable
34
+ columns={columns}
35
+ data={data}
36
+ state={{ isLoading: true }}
37
+ muiCircularProgressProps={{
38
+ color: 'secondary',
39
+ thickness: 5,
40
+ size: 55,
41
+ }}
42
+ muiSkeletonProps={{
43
+ animation: 'pulse',
44
+ height: 28,
45
+ }}
46
+ />
47
+ );
48
+ };
49
+
50
+ export default Example;
@@ -0,0 +1,65 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_AR } from 'material-react-table/locales/ar';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'الاسم الأول',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'اسم العائلة',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'العمر',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ defaultColumn={{ size: 250 }}
34
+ columnResizeDirection="rtl"
35
+ enableColumnFilterModes
36
+ enableColumnOrdering
37
+ enableColumnResizing
38
+ enableEditing
39
+ enableColumnPinning
40
+ enableRowActions
41
+ enableRowSelection
42
+ enableSelectAll={false}
43
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
44
+ localization={MRT_Localization_AR}
45
+ />
46
+ );
47
+ };
48
+
49
+ //App.tsx or similar
50
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
51
+ import { arSA } from '@mui/material/locale';
52
+
53
+ const ExampleWithThemeProvider = () => {
54
+ const theme = useTheme(); //replace with your theme/createTheme
55
+ return (
56
+ //Setting Material UI locale as best practice to result in better accessibility
57
+ <ThemeProvider theme={createTheme({ ...theme, direction: 'rtl' }, arSA)}>
58
+ <div style={{ direction: 'rtl' }}>
59
+ <Example />
60
+ </div>
61
+ </ThemeProvider>
62
+ );
63
+ };
64
+
65
+ export default ExampleWithThemeProvider;
@@ -0,0 +1,60 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_AZ } from 'material-react-table/locales/az';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'Ad',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'Soyad',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'Yaş',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ enableColumnFilterModes
34
+ enableColumnOrdering
35
+ enableEditing
36
+ enableColumnPinning
37
+ enableRowActions
38
+ enableRowSelection
39
+ enableSelectAll={false}
40
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
41
+ localization={MRT_Localization_AZ}
42
+ />
43
+ );
44
+ };
45
+
46
+ //App.tsx or similar
47
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
48
+ import { azAZ } from '@mui/material/locale';
49
+
50
+ const ExampleWithThemeProvider = () => {
51
+ const theme = useTheme(); //replace with your theme/createTheme
52
+ return (
53
+ //Setting Material UI locale as best practice to result in better accessibility
54
+ <ThemeProvider theme={createTheme(theme, azAZ)}>
55
+ <Example />
56
+ </ThemeProvider>
57
+ );
58
+ };
59
+
60
+ export default ExampleWithThemeProvider;
@@ -0,0 +1,60 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_BG } from 'material-react-table/locales/bg';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'Първо име',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'Фамилия',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'Възраст',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ enableColumnFilterModes
34
+ enableColumnOrdering
35
+ enableEditing
36
+ enableColumnPinning
37
+ enableRowActions
38
+ enableRowSelection
39
+ enableSelectAll={false}
40
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
41
+ localization={MRT_Localization_BG}
42
+ />
43
+ );
44
+ };
45
+
46
+ //App.tsx or similar
47
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
48
+ import { bgBG } from '@mui/material/locale';
49
+
50
+ const ExampleWithThemeProvider = () => {
51
+ const theme = useTheme(); //replace with your theme/createTheme
52
+ return (
53
+ //Setting Material UI locale as best practice to result in better accessibility
54
+ <ThemeProvider theme={createTheme(theme, bgBG)}>
55
+ <Example />
56
+ </ThemeProvider>
57
+ );
58
+ };
59
+
60
+ export default ExampleWithThemeProvider;
@@ -0,0 +1,60 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_CS } from 'material-react-table/locales/cs';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'Jméno',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'Příjmení',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'Stáří',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ enableColumnFilterModes
34
+ enableColumnOrdering
35
+ enableEditing
36
+ enableColumnPinning
37
+ enableRowActions
38
+ enableRowSelection
39
+ enableSelectAll={false}
40
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
41
+ localization={MRT_Localization_CS}
42
+ />
43
+ );
44
+ };
45
+
46
+ //App.tsx or similar
47
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
48
+ import { csCZ } from '@mui/material/locale';
49
+
50
+ const ExampleWithThemeProvider = () => {
51
+ const theme = useTheme(); //replace with your theme/createTheme
52
+ return (
53
+ //Setting Material UI locale as best practice to result in better accessibility
54
+ <ThemeProvider theme={createTheme(theme, csCZ)}>
55
+ <Example />
56
+ </ThemeProvider>
57
+ );
58
+ };
59
+
60
+ export default ExampleWithThemeProvider;
@@ -0,0 +1,60 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_DA } from 'material-react-table/locales/da';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'Fornavn',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'Efternavn',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'Alder',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ enableColumnFilterModes
34
+ enableColumnOrdering
35
+ enableEditing
36
+ enableColumnPinning
37
+ enableRowActions
38
+ enableRowSelection
39
+ enableSelectAll={false}
40
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
41
+ localization={MRT_Localization_DA}
42
+ />
43
+ );
44
+ };
45
+
46
+ //App.tsx or similar
47
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
48
+ import { daDK } from '@mui/material/locale';
49
+
50
+ const ExampleWithThemeProvider = () => {
51
+ const theme = useTheme(); //replace with your theme/createTheme
52
+ return (
53
+ //Setting Material UI locale as best practice to result in better accessibility
54
+ <ThemeProvider theme={createTheme(theme, daDK)}>
55
+ <Example />
56
+ </ThemeProvider>
57
+ );
58
+ };
59
+
60
+ export default ExampleWithThemeProvider;
@@ -0,0 +1,60 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_DE } from 'material-react-table/locales/de';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'Vorname',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'Nachname',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'Das Alter',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ enableColumnFilterModes
34
+ enableColumnOrdering
35
+ enableEditing
36
+ enableColumnPinning
37
+ enableRowActions
38
+ enableRowSelection
39
+ enableSelectAll={false}
40
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
41
+ localization={MRT_Localization_DE}
42
+ />
43
+ );
44
+ };
45
+
46
+ //App.tsx or similar
47
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
48
+ import { deDE } from '@mui/material/locale';
49
+
50
+ const ExampleWithThemeProvider = () => {
51
+ const theme = useTheme(); //replace with your theme/createTheme
52
+ return (
53
+ //Setting Material UI locale as best practice to result in better accessibility
54
+ <ThemeProvider theme={createTheme(theme, deDE)}>
55
+ <Example />
56
+ </ThemeProvider>
57
+ );
58
+ };
59
+
60
+ export default ExampleWithThemeProvider;
@@ -0,0 +1,60 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_EL } from 'material-react-table/locales/el';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'First Name',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'Last Name',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'Age',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ enableColumnFilterModes
34
+ enableColumnOrdering
35
+ enableEditing
36
+ enableColumnPinning
37
+ enableRowActions
38
+ enableRowSelection
39
+ enableSelectAll={false}
40
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
41
+ localization={MRT_Localization_EL}
42
+ />
43
+ );
44
+ };
45
+
46
+ //App.tsx or similar
47
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
48
+ import { elGR } from '@mui/material/locale';
49
+
50
+ const ExampleWithThemeProvider = () => {
51
+ const theme = useTheme(); //replace with your theme/createTheme
52
+ return (
53
+ //Setting Material UI locale as best practice to result in better accessibility
54
+ <ThemeProvider theme={createTheme(theme, elGR)}>
55
+ <Example />
56
+ </ThemeProvider>
57
+ );
58
+ };
59
+
60
+ export default ExampleWithThemeProvider;
@@ -0,0 +1,60 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_EN } from 'material-react-table/locales/en';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'First Name',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'Last Name',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'Age',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ enableColumnFilterModes
34
+ enableColumnOrdering
35
+ enableEditing
36
+ enableColumnPinning
37
+ enableRowActions
38
+ enableRowSelection
39
+ enableSelectAll={false}
40
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
41
+ localization={MRT_Localization_EN}
42
+ />
43
+ );
44
+ };
45
+
46
+ //App.tsx or similar
47
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
48
+ import { enUS } from '@mui/material/locale';
49
+
50
+ const ExampleWithThemeProvider = () => {
51
+ const theme = useTheme(); //replace with your theme/createTheme
52
+ return (
53
+ //Setting Material UI locale as best practice to result in better accessibility
54
+ <ThemeProvider theme={createTheme(theme, enUS)}>
55
+ <Example />
56
+ </ThemeProvider>
57
+ );
58
+ };
59
+
60
+ export default ExampleWithThemeProvider;
@@ -0,0 +1,60 @@
1
+ //Import Material React Table and its Types
2
+ import { MaterialReactTable, type MRT_ColumnDef } from 'material-react-table';
3
+
4
+ //Import Material React Table Translations
5
+ import { MRT_Localization_ES } from 'material-react-table/locales/es';
6
+
7
+ //mock data
8
+ import { data, type Person } from './makeData';
9
+
10
+ const columns: MRT_ColumnDef<Person>[] = [
11
+ //column definitions...
12
+ {
13
+ accessorKey: 'firstName',
14
+ header: 'Primer nombre',
15
+ },
16
+ {
17
+ accessorKey: 'lastName',
18
+ header: 'Apellido',
19
+ enableClickToCopy: true,
20
+ },
21
+ {
22
+ accessorKey: 'age',
23
+ header: 'Años',
24
+ },
25
+ //end
26
+ ];
27
+
28
+ const Example = () => {
29
+ return (
30
+ <MaterialReactTable
31
+ columns={columns}
32
+ data={data}
33
+ enableColumnFilterModes
34
+ enableColumnOrdering
35
+ enableEditing
36
+ enableColumnPinning
37
+ enableRowActions
38
+ enableRowSelection
39
+ enableSelectAll={false}
40
+ initialState={{ showColumnFilters: true, showGlobalFilter: true }}
41
+ localization={MRT_Localization_ES}
42
+ />
43
+ );
44
+ };
45
+
46
+ //App.tsx or similar
47
+ import { createTheme, ThemeProvider, useTheme } from '@mui/material';
48
+ import { esES } from '@mui/material/locale';
49
+
50
+ const ExampleWithThemeProvider = () => {
51
+ const theme = useTheme(); //replace with your theme/createTheme
52
+ return (
53
+ //Setting Material UI locale as best practice to result in better accessibility
54
+ <ThemeProvider theme={createTheme(theme, esES)}>
55
+ <Example />
56
+ </ThemeProvider>
57
+ );
58
+ };
59
+
60
+ export default ExampleWithThemeProvider;