diff --git a/apps/material-react-table-docs/pages/docs/guides/localization.mdx b/apps/material-react-table-docs/pages/docs/guides/localization.mdx
index 7a1a0257f..9de0a1c67 100644
--- a/apps/material-react-table-docs/pages/docs/guides/localization.mdx
+++ b/apps/material-react-table-docs/pages/docs/guides/localization.mdx
@@ -3,7 +3,7 @@ import TableOptionsTable from '../../../components/prop-tables/TableOptionsTable
import LocaleExamples from '../../../example-groups/LocaleExamples';
- Localization/i18n Guide - Material React Table V2 Docs
+ {'Localization/i18n Guide - Material React Table V2 Docs'}
+> Note: In some frameworks like Remix, you may need to use a full import path like
> `import { MRT_Localization_ES } from 'material-react-table/locales/es/index.js';` or
> `import { MRT_Localization_ES } from 'material-react-table/locales/es/index.esm.js';`
+> to properly import the locale.
+
### Custom Non-Built-In Translations
If you want to use a language that is not included in the library, you can still easily add your own custom translations to the `localization` prop.
```jsx
-
+ },
+});
+
+return ;
```
For a full list of all available translation keys, see [here](https://github.com/KevinVandy/material-react-table/blob/v2/packages/material-react-table/src/locales/en.ts)
diff --git a/apps/test-cra/package.json b/apps/test-cra/package.json
index 65e415f27..88855a242 100644
--- a/apps/test-cra/package.json
+++ b/apps/test-cra/package.json
@@ -8,14 +8,13 @@
"@mui/icons-material": "^5.14.14",
"@mui/material": "^5.14.14",
"@mui/x-date-pickers": "^6.16.3",
- "@testing-library/jest-dom": "^5.17.0",
- "@testing-library/react": "^13.4.0",
- "@testing-library/user-event": "^13.5.0",
+ "@testing-library/jest-dom": "^6.1.4",
+ "@testing-library/react": "^14.0.0",
+ "@testing-library/user-event": "^14.5.1",
"material-react-table": "workspace:*",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-scripts": "5.0.1",
- "web-vitals": "^2.1.4"
+ "react-scripts": "5.0.1"
},
"scripts": {
"start": "react-scripts start",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b309c1c35..7b30f89f9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -145,16 +145,16 @@ importers:
specifier: ^6.16.3
version: 6.16.3(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@mui/material@5.14.14)(@mui/system@5.14.14)(react-dom@18.2.0)(react@18.2.0)
'@testing-library/jest-dom':
- specifier: ^5.17.0
- version: 5.17.0
+ specifier: ^6.1.4
+ version: 6.1.4(jest@27.5.1)
'@testing-library/react':
- specifier: ^13.4.0
- version: 13.4.0(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^14.0.0
+ version: 14.0.0(react-dom@18.2.0)(react@18.2.0)
'@testing-library/user-event':
- specifier: ^13.5.0
- version: 13.5.0(@testing-library/dom@9.3.3)
+ specifier: ^14.5.1
+ version: 14.5.1(@testing-library/dom@9.3.3)
material-react-table:
- specifier: workspace:2.0.0-beta.13
+ specifier: workspace:*
version: link:../../packages/material-react-table
react:
specifier: ^18.2.0
@@ -165,9 +165,6 @@ importers:
react-scripts:
specifier: 5.0.1
version: 5.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.52.0)(react@18.2.0)(typescript@5.2.2)
- web-vitals:
- specifier: ^2.1.4
- version: 2.1.4
apps/test-remix:
dependencies:
@@ -3101,13 +3098,6 @@ packages:
jest-mock: 27.5.1
dev: false
- /@jest/expect-utils@29.7.0:
- resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- jest-get-type: 29.6.3
- dev: false
-
/@jest/fake-timers@27.5.1:
resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -3179,6 +3169,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@sinclair/typebox': 0.27.8
+ dev: true
/@jest/source-map@27.5.1:
resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==}
@@ -3299,6 +3290,7 @@ packages:
'@types/node': 20.8.8
'@types/yargs': 17.0.29
chalk: 4.1.2
+ dev: true
/@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.2.2)(vite@4.5.0):
resolution: {integrity: sha512-2D6y7fNvFmsLmRt6UCOFJPvFoPMJGT0Uh1Wg0RaigUp7kdQPs6yYn8Dmx6GZkOH/NW0yMTwRz/p0SRMMRo50vA==}
@@ -4806,6 +4798,7 @@ packages:
/@sinclair/typebox@0.27.8:
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+ dev: true
/@sinonjs/commons@1.8.6:
resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
@@ -6059,6 +6052,7 @@ packages:
dom-accessibility-api: 0.5.16
lz-string: 1.5.0
pretty-format: 27.5.1
+ dev: true
/@testing-library/dom@9.3.3:
resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==}
@@ -6073,45 +6067,49 @@ packages:
lz-string: 1.5.0
pretty-format: 27.5.1
- /@testing-library/jest-dom@5.17.0:
- resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==}
- engines: {node: '>=8', npm: '>=6', yarn: '>=1'}
+ /@testing-library/jest-dom@6.1.4(jest@27.5.1):
+ resolution: {integrity: sha512-wpoYrCYwSZ5/AxcrjLxJmCU6I5QAJXslEeSiMQqaWmP2Kzpd1LvF/qxmAIW2qposULGWq2gw30GgVNFLSc2Jnw==}
+ engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+ peerDependencies:
+ '@jest/globals': '>= 28'
+ '@types/jest': '>= 28'
+ jest: '>= 28'
+ vitest: '>= 0.32'
+ peerDependenciesMeta:
+ '@jest/globals':
+ optional: true
+ '@types/jest':
+ optional: true
+ jest:
+ optional: true
+ vitest:
+ optional: true
dependencies:
'@adobe/css-tools': 4.3.1
'@babel/runtime': 7.23.2
- '@types/testing-library__jest-dom': 5.14.9
aria-query: 5.3.0
chalk: 3.0.0
css.escape: 1.5.1
dom-accessibility-api: 0.5.16
+ jest: 27.5.1
lodash: 4.17.21
redent: 3.0.0
dev: false
- /@testing-library/react@13.4.0(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==}
- engines: {node: '>=12'}
+ /@testing-library/react@14.0.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==}
+ engines: {node: '>=14'}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
dependencies:
'@babel/runtime': 7.23.2
- '@testing-library/dom': 8.20.1
+ '@testing-library/dom': 9.3.3
'@types/react-dom': 18.2.14
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@testing-library/user-event@13.5.0(@testing-library/dom@9.3.3):
- resolution: {integrity: sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==}
- engines: {node: '>=10', npm: '>=6'}
- peerDependencies:
- '@testing-library/dom': '>=7.21.4'
- dependencies:
- '@babel/runtime': 7.23.2
- '@testing-library/dom': 9.3.3
- dev: false
-
/@testing-library/user-event@14.5.1(@testing-library/dom@9.3.3):
resolution: {integrity: sha512-UCcUKrUYGj7ClomOo2SpNVvx4/fkd/2BbIHDCle8A0ax+P3bU7yJwDBDrS6ZwdTMARWTGODX1hEsCcO+7beJjg==}
engines: {node: '>=12', npm: '>=6'}
@@ -6119,7 +6117,6 @@ packages:
'@testing-library/dom': '>=7.21.4'
dependencies:
'@testing-library/dom': 9.3.3
- dev: true
/@tootallnate/once@1.1.2:
resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
@@ -6317,13 +6314,6 @@ packages:
dependencies:
'@types/istanbul-lib-report': 3.0.2
- /@types/jest@29.5.6:
- resolution: {integrity: sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==}
- dependencies:
- expect: 29.7.0
- pretty-format: 29.7.0
- dev: false
-
/@types/json-schema@7.0.14:
resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==}
@@ -6479,12 +6469,6 @@ packages:
resolution: {integrity: sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==}
dev: false
- /@types/testing-library__jest-dom@5.14.9:
- resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==}
- dependencies:
- '@types/jest': 29.5.6
- dev: false
-
/@types/trusted-types@2.0.5:
resolution: {integrity: sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==}
dev: false
@@ -8804,11 +8788,6 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dev: false
- /diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: false
-
/diff@5.1.0:
resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
engines: {node: '>=0.3.1'}
@@ -10043,17 +10022,6 @@ packages:
jest-message-util: 27.5.1
dev: false
- /expect@29.7.0:
- resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/expect-utils': 29.7.0
- jest-get-type: 29.6.3
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- dev: false
-
/export-to-csv@1.2.0:
resolution: {integrity: sha512-BKmwBHvE3rP4uA/wqwPMhWqzoX0CwrR67XJ9vBAcTpBd5SQN9/3IZY5z7ZzG8T8bHnJAGfFYWwJ7AHCOGUcKOA==}
dev: false
@@ -11609,16 +11577,6 @@ packages:
pretty-format: 27.5.1
dev: false
- /jest-diff@29.7.0:
- resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- diff-sequences: 29.6.3
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
- dev: false
-
/jest-docblock@27.5.1:
resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -11672,11 +11630,6 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dev: false
- /jest-get-type@29.6.3:
- resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dev: false
-
/jest-haste-map@27.5.1:
resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -11759,16 +11712,6 @@ packages:
pretty-format: 27.5.1
dev: false
- /jest-matcher-utils@29.7.0:
- resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- jest-diff: 29.7.0
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
- dev: false
-
/jest-message-util@27.5.1:
resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -11799,21 +11742,6 @@ packages:
stack-utils: 2.0.6
dev: false
- /jest-message-util@29.7.0:
- resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/code-frame': 7.22.13
- '@jest/types': 29.6.3
- '@types/stack-utils': 2.0.2
- chalk: 4.1.2
- graceful-fs: 4.2.11
- micromatch: 4.0.5
- pretty-format: 29.7.0
- slash: 3.0.0
- stack-utils: 2.0.6
- dev: false
-
/jest-mock@27.5.1:
resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -12009,6 +11937,7 @@ packages:
ci-info: 3.9.0
graceful-fs: 4.2.11
picomatch: 2.3.1
+ dev: true
/jest-validate@27.5.1:
resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==}
@@ -14656,15 +14585,6 @@ packages:
react-is: 18.2.0
dev: false
- /pretty-format@29.7.0:
- resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.6.3
- ansi-styles: 5.2.0
- react-is: 18.2.0
- dev: false
-
/pretty-hrtime@1.0.3:
resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
engines: {node: '>= 0.8'}
@@ -17397,10 +17317,6 @@ packages:
resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==}
engines: {node: '>= 8'}
- /web-vitals@2.1.4:
- resolution: {integrity: sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==}
- dev: false
-
/webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
dev: true