146 KiB
@refinedev/mui
5.22.0
Minor Changes
-
#6445
4ff4335274d5689ec62127312695b76d692a125a
Thanks @alicanerdurmaz! - feat: added new prop calledmutationVariables
to<AuthPage />
. #6431 From now on, you can pass additional parameters to theauthProvider
methods using themutationVariables
prop of the<AuthPage />
component.import { AuthPage } from "@refinedev/antd"; // or "@refinedev/chakra-ui", "@refinedev/mantine", "@refinedev/mui" const MyLoginPage = () => { return ( <AuthPage type="login" // all other types are also supported. // highlight-start mutationVariables={{ foo: "bar", xyz: "abc", }} // highlight-end /> ); }; // all mutation methods are supported. const authProvider = { login: async ({ foo, xyz, ...otherProps }) => { console.log(foo); // bar console.log(xyz); // abc // ... }, register: async ({ foo, xyz, ...otherProps }) => { console.log(foo); // bar console.log(xyz); // abc // ... }, // ... };
Patch Changes
- Updated dependencies [
4ff4335274d5689ec62127312695b76d692a125a
]:- @refinedev/react-hook-form@4.9.1
5.21.0
Minor Changes
-
#6271
2b89fbd136b2134f22d38dff8d4a7f24e57e73db
Thanks @Anonymous961! - feat(mui): added loading spinner to<Create />
,<Edit />
and<Show />
componentsThis change introduces a loading spinner to the
<Create />
,<Edit />
and<Show />
components in the@refinedev/mui
package. The spinner provides a visual indication that data is being loaded, improving the user experience bym giving clear feedback during loading states.
5.20.0
Minor Changes
-
#6180
292cebc5a70f19400793292b79d1400fec114591
Thanks @alicanerdurmaz! - feat:useAutocomplete
'squeryResult
anddefaultValueQueryResult
is deprecated, usequery
anddefaultValueQuery
instead. #6179import { useAutocomplete } from '@refinedev/mui'; - const { queryResult, defaultValueQueryResult } = useAutocomplete(); + const { query, defaultValueQuery } = useAutocomplete();
✨ You can use
@refinedev/codemod
to automatically migrate your codebase. Simply run the following command in your project's root directory:npx @refinedev/codemod@latest rename-query-and-mutation-result
-
#6161
ff975374efcc05220be4411218c2daf7c19b8995
Thanks @ritute! - feat(react-hook-form): update version constraint from^7.30.0
to^7.43.5
Update react-hook-form version to address runtime subscribe error
-
#6172
4967a51944c139d102fcfc04ada5a42c725ed7c2
Thanks @alicanerdurmaz! - feat:useDataGrid
'stableQueryResult
is deprecated, usetableQuery
instead. #6169import { useDataGrid } from '@refinedev/mui'; - const { tableQueryResult } = useDataGrid(); + const { tableQuery } = useDataGrid();
✨ You can use
@refinedev/codemod
to automatically migrate your codebase. Simply run the following command in your project's root directory:npx @refinedev/codemod@latest rename-query-and-mutation-result
Patch Changes
-
#6144
f3e06e8ea3cd65bfe8a8eb0e347aa45b93015764
Thanks @aliemir! - fix(mui): horizontal scroll is broken inDue to the changes in CSS rendering in latest Google Chrome updates,
<DataGrid />
components are not properly sized when used inside<ThemedLayoutV2 />
component. Theoverflow: clip
property in the layout content is causing either miscalculations on the data grid width or causing an overflow on the container and overlapping with the sidebar.This change replaces the
overflow: clip
property withmin-height
andmin-width
properties to ensure the layout content is properly rendered and responsive to the content inside it. -
#6151
4b842703dbeb5306fef5c804bc5366e52fa830a0
Thanks @Sergio16T! - fix(use-data-grid): incompatible types when using data-grid-prouseDataGrid overide DataGridPropsType onFilterModelChange.
-
#6199
5a8e94aa4afe0faf3ea1de93a4b00e0b44dd1ece
Thanks @aliemir! - fix(auth-page): fix wrong translation keys intype="register"
andtype="forgotPassword"
In
type="forgotPassword"
:"pages.register.buttons.haveAccount"
is replaced with"pages.forgotPassword.buttons.haveAccount"
"pages.login.signin"
is replaced with"pages.forgotPassword.signin"
In
type="register"
:"pages.login.divider"
is replaced with"pages.register.divider"
"pages.login.buttons.haveAccount"
is replaced with"pages.register.buttons.haveAccount"
"pages.login.signin"
is replaced with"pages.register.signin"
Wrong keys are kept as fallbacks in case the new keys are not found in the translation file. If you are using those keys in your project, make sure to update them accordingly. Fallback keys will be removed in future releases.
-
#6217
aefd093cfd85096fdac36cd25073d14dfb12094f
Thanks @webscriptmaster! - fix(date-field): falsy values should render empty stringPreviously,
<DateField value={undefined} />
was rendering the current date. After this change, it will render empty string if a falsy value is provided. -
Updated dependencies [
ff975374efcc05220be4411218c2daf7c19b8995
,a93eed09796b780557f6fecee0c2f1e7b4f9e93b
]:- @refinedev/react-hook-form@4.9.0
5.19.0
Minor Changes
-
#5989
b86648f42cd849a506e4c32d740de26b72681f72
Thanks @lnikitadobrenkol! - feat: editable feature for MUI Data Grid #5656It is now possible to make MUI Data Grid editable by setting editable property on specific column.
Resolves #5656
-
#6071
853bef97ed7baf59e74c98fc54c0ed11624fb491
Thanks @Dominic-Preap! - feat: addselectedOptionsOrder
inuseSelect
Now with
selectedOptionsOrder
, you can sortselectedOptions
at the top of list when useuseSelect
withdefaultValue
.Resolves #6061
Patch Changes
-
#6021
55cd0662b1e3ff8f8410eba812e80130afe75d14
Thanks @JayBhensdadia! - fix: ensure Sider component handles various resource name formats correctlyUpdated Sider component to correctly handle lowercase and camelcased resource names, enhancing usability and functionality.
Fixes #6004
-
#6064
b516c18b828ba8823561d0fefc4afe02b45ce332
Thanks @aliemir! - fix(auto-save-indicator): replace reservedkey
prop withtranslationKey
in components<AutoSaveIndicator />
components from UI libraries have been using a<Message />
component internally that uses akey
prop. Sincekey
is a reserved prop in React, it was causing a warning in the console. This change replaces thekey
prop withtranslationKey
to avoid the warning.Resolves #6067
5.17.0
Minor Changes
-
6bd14228760d3e1e205ea9248e427f9afa2ec046
Thanks @BatuhanW! - feat: use global values by default for app title and app iconNow
<Refine />
component acceptsoptions.title
prop that can be used to set app icon and app name globally. For<ThemedLayoutV2 />
and<AuthPage />
components, these values will be used by default. While users can useoptions.title
to pass global values for app icon and app name, option to override through<ThemedTitleV2 />
component is still available for users to override these values in specific use cases.import { Refine } from "@refinedev/core"; const MyIcon = () => <svg>{/* ... */}</svg>; const App = () => { return ( <Refine options={{ title: { icon: <MyIcon />, text: "Refine App", }, }} > {/* ... */} </Refine> ); };
Then,
<ThemedLayoutV2 />
and<AuthPage />
components will display<MyIcon />
and"Refine App"
as app icon and app name respectively.
Patch Changes
-
6bd14228760d3e1e205ea9248e427f9afa2ec046
Thanks @BatuhanW! - fix:transformMuiOperatorToCrudOperator
return type is wrong.This PR fixes the return type of
transformMuiOperatorToCrudOperator
function. It has return typeExclude<CrudOperators, "or">
but it also should excludeand
operator to satisfyLogicalFilter
type. -
6bd14228760d3e1e205ea9248e427f9afa2ec046
Thanks @BatuhanW! - chore: addedtype
qualifier to imports used as type only.- import { A } from "./example.ts"; + import type { A } from "./example.ts";
-
Updated dependencies [
6bd14228760d3e1e205ea9248e427f9afa2ec046
,6bd14228760d3e1e205ea9248e427f9afa2ec046
]:- @refinedev/ui-types@1.22.9
- @refinedev/react-hook-form@4.8.20
5.16.0
Minor Changes
-
#5945
903ea231538b00ce02ddc9394c72848ec1e90772
Thanks @aliemir! - feat: use global values by default for app title and app iconNow
<Refine />
component acceptsoptions.title
prop that can be used to set app icon and app name globally. For<ThemedLayoutV2 />
and<AuthPage />
components, these values will be used by default. While users can useoptions.title
to pass global values for app icon and app name, option to override through<ThemedTitleV2 />
component is still available for users to override these values in specific use cases.import { Refine } from "@refinedev/core"; const MyIcon = () => <svg>{/* ... */}</svg>; const App = () => { return ( <Refine options={{ title: { icon: <MyIcon />, text: "Refine App", }, }} > {/* ... */} </Refine> ); };
Then,
<ThemedLayoutV2 />
and<AuthPage />
components will display<MyIcon />
and"Refine App"
as app icon and app name respectively.
Patch Changes
-
#5945
5b1230b63bf07034e81d0c0116fcc4ab14f7537c
Thanks @aliemir! - fix:transformMuiOperatorToCrudOperator
return type is wrong.This PR fixes the return type of
transformMuiOperatorToCrudOperator
function. It has return typeExclude<CrudOperators, "or">
but it also should excludeand
operator to satisfyLogicalFilter
type. -
#5945
90930b381d8d369c63bc59beedf69c391875166d
Thanks @aliemir! - chore: addedtype
qualifier to imports used as type only.- import { A } from "./example.ts"; + import type { A } from "./example.ts";
-
Updated dependencies [
903ea231538b00ce02ddc9394c72848ec1e90772
,90930b381d8d369c63bc59beedf69c391875166d
]:- @refinedev/ui-types@1.22.8
- @refinedev/react-hook-form@4.8.19
5.15.1
Patch Changes
-
#5928
db9756e7908
Thanks @aliemir! - fix: type errors on typescript <5Due to the changes in #5881, typescript users below version 5 are facing type errors. This PR fixes the type errors by updating the file extensions required by the
d.mts
declaration files to provide a compatible declarations for both typescript 4 and 5 users. -
Updated dependencies [
db9756e7908
]:- @refinedev/react-hook-form@4.8.18
- @refinedev/ui-types@1.22.7
5.15.0
Minor Changes
-
#5868
a82ef6afc15
Thanks @Ac-Srikanth! - feat: add message prop for required auth input fields for the above packages.Now you can provide custom required messages with translate feature for all auth input fields(Login, register, forget password,update password).
Resolves #5855
Patch Changes
-
#5876
4940b6106b2
Thanks @Yash-271120! - feat: add ability to customize anchor origin from snackbar providerPreviously,
useNotificationProvider
used hardcodedanchorOrigin
anddisableWindowBlurListener
values, preventing users to customize these values. This change moves these values to<RefineSnackbarProvider />
as default props to allow users to customize them when needed.Resolves #5847
-
#5881
ba719f6ea26
Thanks @aliemir! - fix: declaration files in node10, node16 and nodenext module resolutions -
Updated dependencies [
ba719f6ea26
]:- @refinedev/react-hook-form@4.8.17
- @refinedev/ui-types@1.22.6
5.14.6
Patch Changes
-
#5737
4e8188a6652
Thanks @aliemir! - chore: updated content ofREADME.md
to include installation, usage and scaffolding instructions. -
#5765
0c197d82393
Thanks @aliemir! - fix:dayjs
imports in ESM bundlesdayjs imports in ESM bundles were not being correctly resolved, this has been fixed by adding an esbuild plugin to replace the imports with the correct path for ESM bundles.
-
#5765
0c197d82393
Thanks @aliemir! - Fixed thelodash-es
imports for ESM builds to access the exports properly. -
#5765
0c197d82393
Thanks @aliemir! - refactor: package bundles and package.json configuration for exportsPreviously, Refine packages had exported ESM and CJS bundles with same
.js
extension and same types for both with.d.ts
extensions. This was causing issues with bundlers and compilers to pick up the wrong files for the wrong environment. Now we're outputting ESM bundles with.mjs
extension and CJS bundles with.cjs
extension. Also types are now exported with both.d.mts
and.d.cts
extensions.In older versions ESM and CJS outputs of some packages were using wrong imports/requires to dependencies causing errors in some environments. This will be fixed since now we're also enforcing the module type with extensions.
Above mentioned changes also supported with changes in
package.json
files of the packages to support the new extensions and types. All Refine packages now includeexports
fields in their configuration to make sure the correct bundle is picked up by the bundlers and compilers.In context of
@refinedev/mui
these changes may cause unexpected issues due to misconfigured bundlers/compilers in some environments.In projects using
react-scripts
, you may have issues with import statements in the@refinedev/mui
's ESM bundle, this should be resolved by customizing the webpack configuration of the project by allowing imports without fully specifying the extensions.An example configuration with
@craco/craco
is as follows:// craco.config.js module.exports = { webpack: { configure: { module: { rules: [ { test: /.m?js$/, resolve: { fullySpecified: false, }, }, ], }, }, }, };
In Remix projects using
@refinedev/mui
you may encounter issues due to ESM issues from Material UI packages, please refer to this issue if you have any problems related to this: https://github.com/mui/material-ui/issues/39765If the error is related with
@refinedev/mui
specifically, settingserverModuleFormat
to"cjs"
will help getting rid of the related errors. -
#5754
56ed144a0f5
Thanks @alicanerdurmaz! - chore: TypeScript upgraded to v5.x.x. #5752 -
#5765
0c197d82393
Thanks @aliemir! - fix: broken eslint plugin for removing test ids from componentsEslint plugin to remove test ids from components was broken and might miss some test ids to be included in the bundles.
-
#5765
0c197d82393
Thanks @aliemir! - fix:@mui/icons-material
imports from ESM builds.@mui/icons-material
imports from ESM builds were not being correctly resolved, this has been fixed by adding an esbuild plugin to replace the imports with the correct path for ESM bundles. -
#5808
10ba9c34490
Thanks @aliemir! - refactor: moved internal logic of buttons to respective hooks from@refinedev/core
We've moved the internal logic of buttons to their respective hooks in the
@refinedev/core
package to ensure consistency and reduce duplication. This change will make it easier to manage and maintain the buttons across different UI integrations of Refine. This will also benefit the users who want to customize the buttons viaswizzle
option or create their own buttons withouth having to duplicate the logic. -
Updated dependencies [
56ed144a0f5
,0c197d82393
,0c197d82393
,56ed144a0f5
,38f129f40ee
,404b2ef5e1b
]:- @refinedev/react-hook-form@4.8.16
- @refinedev/ui-types@1.22.5
5.14.5
Patch Changes
-
#5695
79865affa1c
Thanks @BatuhanW! - chore: apply biome format and fix lint errors. -
#5725
b216eb35458
Thanks @beg1c! - fix: issue with dropdown button on ThemedSiderV2 #5724There was unexpected margin on dropdown button at ThemedSiderV2.
Fixes #5724
-
Updated dependencies [
79865affa1c
]:- @refinedev/react-hook-form@4.8.15
5.14.4
Patch Changes
-
#5573
546df06482
Thanks @alicanerdurmaz! - chore: add "use client" directive to exported files to work with nextjs app router -
Updated dependencies [
546df06482
]:- @refinedev/react-hook-form@4.8.14
5.14.3
Patch Changes
-
#5568
f1244819ad
Thanks @alicanerdurmaz! - feat:notificationProvider
is deprecated due to consistent naming convention between UI libraries. Please useuseNotificationProvider
export as your notification provider. #5567 -
#5564
1bb7d30888
Thanks @alicanerdurmaz! - feat:<ThemedTitleV2 />'s
default icon updated.
5.14.2
Patch Changes
-
#5430
cfe78749ff
Thanks @alicanerdurmaz! - fix:useNotification.close("notification-key")
not working. Resolves #5431 -
#5465
00e00cbd98
Thanks @aliemir! - Fixed the type issue betweenremark-gfm
andreact-markdown
. #5463
5.14.1
Patch Changes
-
#5425
190af9fce2
Thanks @aliemir! - Updated@refinedev/core
peer dependencies to latest (^4.46.1
) -
Updated dependencies [
190af9fce2
]:- @refinedev/react-hook-form@4.8.13
- @refinedev/ui-types@1.22.4
5.14.0
Minor Changes
-
#5307
f8e407f850
Thanks @jackprogramsjp! - feat: addedhideForm
props forLoginPage
andRegisterPage
forAuthPage
feature.Now with the
hideForm
props feature, you can be able to hide the forms (like email/password) to only show the OAuth providers. This avoids having to make your own entire AuthPage.
Patch Changes
-
#5325
7ff54b2060
Thanks @alicanerdurmaz! - fix:<AuthPage />
styling issues on mobile screens.chore: new tests are added to
<AuthPage />
.
5.13.18
Patch Changes
- #5259
eac3df87ffb
Thanks @aliemir! - Updated<AutoSaveIndicator />
component to extend the<AutoSaveIndicator />
from@refinedev/core
with custom elements and render appropriate element based on the state.
5.13.17
Patch Changes
-
#5117
0b050f97b55
Thanks @BatuhanW! - fix: map missing operators for useDataGrid hook.- number field, added
isAnyOf
operator. - string field, added
startsWith
,endsWith
andisAnyOf
operators.
fix:
isNull
andisNotNull
doesn't trigger request.When filter has a value
""
, it's ignored and doesn't trigger request. PreviouslyisNull
andisNotNull
operators weren't handled correctly and had value""
by default. With this change, these operators hastrue
value, so they won't be ignored. - number field, added
5.13.16
Patch Changes
-
#5117
0b050f97b55
Thanks @BatuhanW! - fix: map missing operators for useDataGrid hook.- number field, added
isAnyOf
operator. - string field, added
startsWith
,endsWith
andisAnyOf
operators.
fix:
isNull
andisNotNull
doesn't trigger request.When filter has a value
""
, it's ignored and doesn't trigger request. PreviouslyisNull
andisNotNull
operators weren't handled correctly and had value""
by default. With this change, these operators hastrue
value, so they won't be ignored. - number field, added
5.13.15
Patch Changes
-
#5026
a605e4cd318
Thanks @alicanerdurmaz! - feat: deprecated<ThemedLayout />
and<Layout />
components removed fromswizzle
. From now on, users can swizzle<ThemedLayoutV2 />
component instead.feat: swizzled
<ThemedLayoutV2 />
component destination changed tosrc/components/layout/
fromsrc/components/themedLayout
. -
#4974
a7b32dbf137
Thanks @IkumaTadokoro! - fix: add missing DataGrid operator conversion casesMUI defines the operator for each column types in here. However, there were not enough conversion cases for the following operators, so this changes added them to the mapping.
- isAnyof: used in Numeric, SingleSelect, String
- contains: used in String,
- startsWith: used in String
- endsWith: used in String
5.13.14
Patch Changes
-
#4974
a7b32dbf137
Thanks @IkumaTadokoro! - fix: add missing DataGrid operator conversion casesMUI defines the operator for each column types in here. However, there were not enough conversion cases for the following operators, so this changes added them to the mapping.
- isAnyof: used in Numeric, SingleSelect, String
- contains: used in String,
- startsWith: used in String
- endsWith: used in String
5.13.13
Patch Changes
-
#5026
a605e4cd318
Thanks @alicanerdurmaz! - feat: deprecated<ThemedLayout />
and<Layout />
components removed fromswizzle
. From now on, users can swizzle<ThemedLayoutV2 />
component instead.feat: swizzled
<ThemedLayoutV2 />
component destination changed tosrc/components/layout/
fromsrc/components/themedLayout
.
5.13.12
Patch Changes
-
#5022
80513a4e42f
Thanks @BatuhanW! - chore: update README.md- fix grammar errors.
- make all README.md files consistent.
- add code example code snippets.
-
Updated dependencies [
80513a4e42f
]:- @refinedev/react-hook-form@4.8.10
5.13.11
Patch Changes
-
#5022
80513a4e42f
Thanks @BatuhanW! - chore: update README.md- fix grammar errors.
- make all README.md files consistent.
- add code example code snippets.
-
Updated dependencies [
80513a4e42f
]:- @refinedev/react-hook-form@4.8.9
5.13.10
Patch Changes
-
#4964
85b1ac0db5f
Thanks @BatuhanW! - chore: update @refinedev/core peer dependency versions. -
Updated dependencies [
85b1ac0db5f
]:- @refinedev/react-hook-form@4.8.8
5.13.9
Patch Changes
-
#4964
85b1ac0db5f
Thanks @BatuhanW! - chore: update @refinedev/core peer dependency versions. -
Updated dependencies [
85b1ac0db5f
]:- @refinedev/react-hook-form@4.8.7
5.13.8
Patch Changes
- #4951
04837c62077
Thanks @aliemir! - - Update build configuration foresbuild
to use the shared plugins.- Fix the lodash replacement plugin to skip redundant files.
- Updated dependencies [
04837c62077
]:- @refinedev/ui-types@1.22.2
5.13.7
Patch Changes
- #4951
04837c62077
Thanks @aliemir! - - Update build configuration foresbuild
to use the shared plugins.- Fix the lodash replacement plugin to skip redundant files.
- Updated dependencies [
04837c62077
]:- @refinedev/ui-types@1.22.1
5.13.6
Patch Changes
-
#4948
8e5efffbb23
Thanks @aliemir! - Keep the hook and component names in builds for better debugging. -
Updated dependencies [
8e5efffbb23
]:- @refinedev/react-hook-form@4.8.4
5.13.5
Patch Changes
-
#4948
8e5efffbb23
Thanks @aliemir! - Keep the hook and component names in builds for better debugging. -
Updated dependencies [
8e5efffbb23
]:- @refinedev/react-hook-form@4.8.3
5.13.4
Patch Changes
- #4823
68592b67357
Thanks @alicanerdurmaz! - fixed: Material UI<List />
,<Show />
,<Edit />
,<Create />
component's header buttons not being aligned properly. #4816
5.13.3
Patch Changes
- #4823
68592b67357
Thanks @alicanerdurmaz! - fixed: Material UI<List />
,<Show />
,<Edit />
,<Create />
component's header buttons not being aligned properly. #4816
5.13.2
Patch Changes
- #4788
38680378c7a
Thanks @salihozdemir! - fix: render user avatar and name in<HeaderV2 />
based on user data fromauthProvider
.
5.13.1
Patch Changes
- #4788
38680378c7a
Thanks @salihozdemir! - fix: render user avatar and name in<HeaderV2 />
based on user data fromauthProvider
.
5.13.0
Minor Changes
- #4775
3052fb22449
Thanks @alicanerdurmaz! - fixed:<RefreshButton />
does not refresh content #4618. From now,<RefreshButton />
usesuseInvalidate
hook to refresh data instead ofuseOne
.
Patch Changes
- Updated dependencies [
3052fb22449
]:- @refinedev/ui-types@1.22.0
5.12.0
Minor Changes
- #4775
3052fb22449
Thanks @alicanerdurmaz! - fixed:<RefreshButton />
does not refresh content #4618. From now,<RefreshButton />
usesuseInvalidate
hook to refresh data instead ofuseOne
.
Patch Changes
- Updated dependencies [
3052fb22449
]:- @refinedev/ui-types@1.21.0
5.11.2
Patch Changes
-
#4774
030a9dda75a
Thanks @yildirayunlu! - feat: unlock and upgrade@mui/material
to^5.14.2
-
Updated dependencies [
c757355da60
]:- @refinedev/react-hook-form@4.8.2
5.11.1
Patch Changes
-
#4774
030a9dda75a
Thanks @yildirayunlu! - feat: unlock and upgrade@mui/material
to^5.14.2
-
Updated dependencies [
c757355da60
]:- @refinedev/react-hook-form@4.8.1
5.11.0
Minor Changes
- #4741
026ccf34356
Thanks @aliemir! - AddedsideEffects: false
topackage.json
to help bundlers tree-shake unused code.
Patch Changes
- Updated dependencies [
026ccf34356
]:- @refinedev/react-hook-form@4.8.0
5.10.0
Minor Changes
- #4741
026ccf34356
Thanks @aliemir! - AddedsideEffects: false
topackage.json
to help bundlers tree-shake unused code.
Patch Changes
- Updated dependencies [
026ccf34356
]:- @refinedev/react-hook-form@4.7.0
5.9.0
Minor Changes
-
#4591
f8891ead2bd
Thanks @yildirayunlu! - feat:autoSave
feature forEdit
. useForm, useDrawerForm, useModalForm, useStepsForm hooks now acceptautoSave
object.enabled
is a boolean value anddebounce
is a number value in milliseconds.debounce
is optional and default value is1000
.const { autoSaveProps } = useForm({ refineCoreProps: { autoSave: { enabled: true, debounce: 2000, // not required, default is 1000 }, } }); return ( <Edit saveButtonProps={saveButtonProps} // pass autoSaveProps to Edit component autoSaveProps={autoSaveProps} > // form fields </Edit> );
feat: Add
<AutoSaveIndicator>
component. It comes automatically whenautoSaveProps
is given to theEdit
page. However, this component can be used to position it in a different place.import { AutoSaveIndicator } from "@refinedev/mui"; const { autoSaveProps } = useForm({ refineCoreProps: { autoSave: { enabled: true, debounce: 2000, // not required, default is 1000 }, } }); return ( <div> <AutoSaveIndicator {...autoSaveProps}> </div> );
Patch Changes
- Updated dependencies [
96af6d25b7a
,f8891ead2bd
]:- @refinedev/react-hook-form@4.6.0
- @refinedev/ui-types@1.20.0
5.8.0
Minor Changes
-
#4591
f8891ead2bd
Thanks @yildirayunlu! - feat:autoSave
feature forEdit
. useForm, useDrawerForm, useModalForm, useStepsForm hooks now acceptautoSave
object.enabled
is a boolean value anddebounce
is a number value in milliseconds.debounce
is optional and default value is1000
.const { autoSaveProps } = useForm({ refineCoreProps: { autoSave: { enabled: true, debounce: 2000, // not required, default is 1000 }, } }); return ( <Edit saveButtonProps={saveButtonProps} // pass autoSaveProps to Edit component autoSaveProps={autoSaveProps} > // form fields </Edit> );
feat: Add
<AutoSaveIndicator>
component. It comes automatically whenautoSaveProps
is given to theEdit
page. However, this component can be used to position it in a different place.import { AutoSaveIndicator } from "@refinedev/mui"; const { autoSaveProps } = useForm({ refineCoreProps: { autoSave: { enabled: true, debounce: 2000, // not required, default is 1000 }, } }); return ( <div> <AutoSaveIndicator {...autoSaveProps}> </div> );
Patch Changes
- Updated dependencies [
96af6d25b7a
,f8891ead2bd
]:- @refinedev/react-hook-form@4.5.0
- @refinedev/ui-types@1.19.0
5.7.0
Minor Changes
-
#4502
c7872ca621f
Thanks @Mr0nline! - feat: ability to tweak active sider items navigationVisiting active sider items triggers page reloads due to them being links. We can now provide activeItemDisabled prop to disable such reloads.
Patch Changes
-
#4607
fed630dcc3e
Thanks @alicanerdurmaz! - test: added tests for<ThemedSiderV2/>
. -
Updated dependencies [
c7872ca621f
]:- @refinedev/ui-types@1.18.0
5.6.0
Minor Changes
-
#4502
c7872ca621f
Thanks @Mr0nline! - feat: ability to tweak active sider items navigationVisiting active sider items triggers page reloads due to them being links. We can now provide activeItemDisabled prop to disable such reloads.
Patch Changes
-
#4607
fed630dcc3e
Thanks @alicanerdurmaz! - test: added tests for<ThemedSiderV2/>
. -
Updated dependencies [
c7872ca621f
]:- @refinedev/ui-types@1.17.0
5.5.0
Minor Changes
-
#4523
18d446b1069
Thanks @yildirayunlu! - feat: implement following hooks haveuseLoadingOvertime
hook
Patch Changes
-
#4557
781050e56a4
Thanks @yildirayunlu! - fix:Button
text color onRefineThemes
-
#4527
ceadcd29fc9
Thanks @salihozdemir! - fix: prioritization of forgottenidentifier
If
identifier
is provided, it will be used instead ofname
.import { DeleteButton } from "@refinedev/mui"; <DeleteButton resource="identifier-value" recordItemId="123" />;
fix: use translate keys with
identifier
Previously, the translate keys were generated using resource
name
. This caused issues when you had multipleresource
usage with the same name. Now thetranslate
keys are generated usingidentifier
if it's present. -
Updated dependencies [
9a895ea39dc
,ceadcd29fc9
]:- @refinedev/react-hook-form@4.4.2
5.4.0
Minor Changes
-
#4523
18d446b1069
Thanks @yildirayunlu! - feat: implement following hooks haveuseLoadingOvertime
hook
Patch Changes
-
#4557
781050e56a4
Thanks @yildirayunlu! - fix:Button
text color onRefineThemes
-
#4527
ceadcd29fc9
Thanks @salihozdemir! - fix: prioritization of forgottenidentifier
If
identifier
is provided, it will be used instead ofname
.import { DeleteButton } from "@refinedev/mui"; <DeleteButton resource="identifier-value" recordItemId="123" />;
fix: use translate keys with
identifier
Previously, the translate keys were generated using resource
name
. This caused issues when you had multipleresource
usage with the same name. Now thetranslate
keys are generated usingidentifier
if it's present. -
Updated dependencies [
9a895ea39dc
,ceadcd29fc9
]:- @refinedev/react-hook-form@4.4.1
5.3.0
Minor Changes
-
#4449
cc84d61bc5c
Thanks @BatuhanW! - feat: updated Create, List, Show, Edit, Delete, Clone buttons to respect new globalaccessControlProvider
configuration.fix: Delete button's text wasn't rendered as
reason
field ofaccessControlProvider
.Given the following
can
method:const accessControlProvider: IAccessControlContext = { can: async (): Promise<CanReturnType> => { return { can: false, reason: "Access Denied!" }; }, };
If user is unauthorized,
Delete
button's text should beAccess Denied!
instead of defaultDelete
.This is the default behaviour for Create, List, Show, Edit, Delete, Clone buttons already.
5.2.0
Minor Changes
-
#4449
cc84d61bc5c
Thanks @BatuhanW! - feat: updated Create, List, Show, Edit, Delete, Clone buttons to respect new globalaccessControlProvider
configuration.fix: Delete button's text wasn't rendered as
reason
field ofaccessControlProvider
.Given the following
can
method:const accessControlProvider: IAccessControlContext = { can: async (): Promise<CanReturnType> => { return { can: false, reason: "Access Denied!" }; }, };
If user is unauthorized,
Delete
button's text should beAccess Denied!
instead of defaultDelete
.This is the default behaviour for Create, List, Show, Edit, Delete, Clone buttons already.
5.1.0
Minor Changes
-
#4454
4bae8add99f
Thanks @aliemir! - Updated the@mui/x-data-grid
dependency to the latest version (v6
). This update introduces some changes to the existing codebases which are addressed in Material UI's migration guide for@mui/x-data-grid
fromv5
tov6
. We've created a simple migration guide to navigate refine users through the changes that might be required in their codebases. While this guide does not cover all the changes, it will help you get started with the migration process.Breaking Changes
useDataGrid
no longer returnspage
,pageSize
,onPageChange
andonPageSizeChange
. According to the changes in theDataGrid
API,useDataGrid
now returnspaginationModel
andonPaginationModelChange
props which are used to control the pagination state of theDataGrid
and contains the previous logic ofpage
,pageSize
,onPageChange
andonPageSizeChange
.With this release, the peer dependency of
@mui/x-data-grid
is updated to^6.6.0
.
Patch Changes
-
#4454
4bae8add99f
Thanks @aliemir! - Added missing@context
alias to the declaration configuration, this was causing buildtime errors when creating declarations for the package. -
#4454
4bae8add99f
Thanks @aliemir! - Addedoverflow: auto
andoverflow: clip
(if supported) properties to the content container of theThemedLayoutV2
to make sure theDataGrid
component doesn't break the layout.
5.0.0
Major Changes
-
#4454
4bae8add99f
Thanks @aliemir! - Updated the@mui/x-data-grid
dependency to the latest version (v6
). This update introduces some changes to the existing codebases which are addressed in Material UI's migration guide for@mui/x-data-grid
fromv5
tov6
. We've created a simple migration guide to navigate refine users through the changes that might be required in their codebases. While this guide does not cover all the changes, it will help you get started with the migration process.Breaking Changes
useDataGrid
no longer returnspage
,pageSize
,onPageChange
andonPageSizeChange
. According to the changes in theDataGrid
API,useDataGrid
now returnspaginationModel
andonPaginationModelChange
props which are used to control the pagination state of theDataGrid
and contains the previous logic ofpage
,pageSize
,onPageChange
andonPageSizeChange
.With this release, the peer dependency of
@mui/x-data-grid
is updated to^6.6.0
.
Patch Changes
-
#4454
4bae8add99f
Thanks @aliemir! - Added missing@context
alias to the declaration configuration, this was causing buildtime errors when creating declarations for the package. -
#4454
4bae8add99f
Thanks @aliemir! - Addedoverflow: auto
andoverflow: clip
(if supported) properties to the content container of theThemedLayoutV2
to make sure theDataGrid
component doesn't break the layout.
4.18.2
Patch Changes
- #4431
c29a3618cf6
Thanks @aliemir! - Updated the TSDoc comments to fix the broken links in the documentation.
4.18.1
Patch Changes
- #4431
c29a3618cf6
Thanks @aliemir! - Updated the TSDoc comments to fix the broken links in the documentation.
4.18.0
Minor Changes
-
#4404
f67967e8c87
Thanks @salihozdemir! - refactor: fix name and state inconsistency in<ThemedLayoutV2>
useSiderVisible
is deprecated, instead we created a new hookuseThemedLayoutContext
for it.useThemedLayoutContext
similar touseSiderVisible
but it returns more meaningful state names. However,useSiderVisible
is still available for backward compatibility.Updated
Sider
andHamburgerMenu
components usinguseThemedLayoutContext
.import { useThemedLayoutContext } from "@refinedev/mui"; const { siderCollapsed, setSiderCollapsed, mobileSiderOpen, setMobileSiderOpen, } = useThemedLayoutContext();
4.17.0
Minor Changes
-
#4404
f67967e8c87
Thanks @salihozdemir! - refactor: fix name and state inconsistency in<ThemedLayoutV2>
useSiderVisible
is deprecated, instead we created a new hookuseThemedLayoutContext
for it.useThemedLayoutContext
similar touseSiderVisible
but it returns more meaningful state names. However,useSiderVisible
is still available for backward compatibility.Updated
Sider
andHamburgerMenu
components usinguseThemedLayoutContext
.import { useThemedLayoutContext } from "@refinedev/mui"; const { siderCollapsed, setSiderCollapsed, mobileSiderOpen, setMobileSiderOpen, } = useThemedLayoutContext();
4.16.4
Patch Changes
- #4355
bf4011f1d00
Thanks @aliemir! - Updated@mui/material
and@mui/icons-material
imports to use subpath imports.
4.16.3
Patch Changes
- #4355
bf4011f1d00
Thanks @aliemir! - Updated@mui/material
and@mui/icons-material
imports to use subpath imports.
4.16.2
Patch Changes
- #4316
4690c627e05
Thanks @yildirayunlu! - fix: fixedclassName
for easier selection of all buttons and titles of CRUD components
4.16.1
Patch Changes
- #4316
4690c627e05
Thanks @yildirayunlu! - fix: fixedclassName
for easier selection of all buttons and titles of CRUD components
4.16.0
Minor Changes
-
#4303
0c569f42b4e
Thanks @alicanerdurmaz! - feat: added default button props into the renderer functionsheaderButtons
andfooterButtons
in CRUD components. Now, customization of the header and footer buttons can be achieved without losing the default functionality.import { DeleteButton, EditButton, ListButton, RefreshButton, Show, } from "@refinedev/mui"; const PostShow = () => { return ( <Show headerButtons={({ deleteButtonProps, editButtonProps, listButtonProps, refreshButtonProps, }) => { return ( <> {/* custom components */} {listButtonProps && ( <ListButton {...listButtonProps} meta={{ foo: "bar" }} /> )} {editButtonProps && ( <EditButton {...editButtonProps} meta={{ foo: "bar" }} /> )} {deleteButtonProps && ( <DeleteButton {...deleteButtonProps} meta={{ foo: "bar" }} /> )} <RefreshButton {...refreshButtonProps} meta={{ foo: "bar" }} /> </> ); }} > {/* ... */} </Show> ); };
Patch Changes
-
#4312
9a5f79186c1
Thanks @yildirayunlu! - feat: addedclassName
for easier selection of all buttons and titles of CRUD components -
Updated dependencies [
0c569f42b4e
,e6eb4dea627
,9a5f79186c1
]:- @refinedev/ui-types@1.16.0
- @refinedev/react-hook-form@4.4.0
4.15.0
Minor Changes
-
#4303
0c569f42b4e
Thanks @alicanerdurmaz! - feat: added default button props into the renderer functionsheaderButtons
andfooterButtons
in CRUD components. Now, customization of the header and footer buttons can be achieved without losing the default functionality.import { DeleteButton, EditButton, ListButton, RefreshButton, Show, } from "@refinedev/mui"; const PostShow = () => { return ( <Show headerButtons={({ deleteButtonProps, editButtonProps, listButtonProps, refreshButtonProps, }) => { return ( <> {/* custom components */} {listButtonProps && ( <ListButton {...listButtonProps} meta={{ foo: "bar" }} /> )} {editButtonProps && ( <EditButton {...editButtonProps} meta={{ foo: "bar" }} /> )} {deleteButtonProps && ( <DeleteButton {...deleteButtonProps} meta={{ foo: "bar" }} /> )} <RefreshButton {...refreshButtonProps} meta={{ foo: "bar" }} /> </> ); }} > {/* ... */} </Show> ); };
Patch Changes
-
#4312
9a5f79186c1
Thanks @yildirayunlu! - feat: addedclassName
for easier selection of all buttons and titles of CRUD components -
Updated dependencies [
0c569f42b4e
,e6eb4dea627
,9a5f79186c1
]:- @refinedev/ui-types@1.15.0
- @refinedev/react-hook-form@4.3.0
4.14.7
Patch Changes
-
#4295
7f24a6a2b14
Thanks @salihozdemir! - chore: bump to latest version of@refinedev/ui-types
-
Updated dependencies [
dc62abc890f
]:- @refinedev/ui-types@1.14.0
4.14.6
Patch Changes
- #4295
7f24a6a2b14
Thanks @salihozdemir! - chore: bump to latest version of@refinedev/ui-types
4.14.5
Patch Changes
-
#4277
7172c1b42d2
Thanks @salihozdemir! - fix: renamed the<ThemedHeaderV2/>
propisSticky
tosticky
To provide backwards compatibility, the old prop name is still supported, but it is deprecated and will be removed in the next major version.
Example:
import { Refine } from "@refinedev/core"; import { ThemedLayoutV2, ThemedHeaderV2 } from "@refinedev/antd"; // or @refinedev/chakra-ui, @refinedev/mui, @refinedev/mantine const App: React.FC = () => { return ( <Refine ... > <ThemedLayoutV2 Header={() => <ThemedHeaderV2 sticky />} > {/* ... */} </ThemedLayoutV2> </Refine> ); };
-
#4272
420d2442741
Thanks @salihozdemir! - fix: updated the sider styles to solve issues that occur when there are too many items in the sider
4.14.4
Patch Changes
-
#4277
7172c1b42d2
Thanks @salihozdemir! - fix: renamed the<ThemedHeaderV2/>
propisSticky
tosticky
To provide backwards compatibility, the old prop name is still supported, but it is deprecated and will be removed in the next major version.
Example:
import { Refine } from "@refinedev/core"; import { ThemedLayoutV2, ThemedHeaderV2 } from "@refinedev/antd"; // or @refinedev/chakra-ui, @refinedev/mui, @refinedev/mantine const App: React.FC = () => { return ( <Refine ... > <ThemedLayoutV2 Header={() => <ThemedHeaderV2 sticky />} > {/* ... */} </ThemedLayoutV2> </Refine> ); };
-
#4272
420d2442741
Thanks @salihozdemir! - fix: updated the sider styles to solve issues that occur when there are too many items in the sider
4.14.3
Patch Changes
-
#4277
7172c1b42d2
Thanks @salihozdemir! - fix: renamed the<ThemedHeaderV2/>
propisSticky
tosticky
To provide backwards compatibility, the old prop name is still supported, but it is deprecated and will be removed in the next major version.
Example:
import { Refine } from "@refinedev/core"; import { ThemedLayoutV2, ThemedHeaderV2 } from "@refinedev/antd"; // or @refinedev/chakra-ui, @refinedev/mui, @refinedev/mantine const App: React.FC = () => { return ( <Refine ... > <ThemedLayoutV2 Header={() => <ThemedHeaderV2 sticky />} > {/* ... */} </ThemedLayoutV2> </Refine> ); };
-
#4272
420d2442741
Thanks @salihozdemir! - fix: updated the sider styles to solve issues that occur when there are too many items in the sider
4.14.2
Patch Changes
- #4255
9694245718c
Thanks @alicanerdurmaz! - fixed:ThemedLayoutContextProvider
import path in internal usage.
4.14.1
Patch Changes
- #4255
9694245718c
Thanks @alicanerdurmaz! - fixed:ThemedLayoutContextProvider
import path in internal usage.
4.14.0
Minor Changes
-
#4232
c99bc0ad7f7
Thanks @alicanerdurmaz! - feat:initialSiderCollapsed
added toRefineThemedLayoutV2Props
to control initial state of<ThemedSiderV2>
. From now on, you can control the initial collapsed state of<ThemedSiderV2>
by passing theinitialSiderCollapsed
prop to<ThemedLayoutV2>
.<ThemedLayoutV2 initialSiderCollapsed={true} // This will make the sider collapsed by default > {/* .. */} </ThemedLayoutV2>
-
#4209
3f4b5fef76f
Thanks @yildirayunlu! - feat: addisSticky
prop toThemedHeaderV2
component. Default istrue
.import { ThemedHeaderV2, ThemedLayoutV2 } from "@refinedev/mui"; const CustomHeader = () => <ThemedHeaderV2 isSticky={false} />; const App = () => ( <Refine> // ... <ThemedLayoutV2 Header={CustomHeader}> <Outlet /> </ThemedLayoutV2> // ... </Refine> );
Patch Changes
- Updated dependencies [
c99bc0ad7f7
,3f4b5fef76f
]:- @refinedev/ui-types@1.12.0
4.13.0
Minor Changes
-
#4232
c99bc0ad7f7
Thanks @alicanerdurmaz! - feat:initialSiderCollapsed
added toRefineThemedLayoutV2Props
to control initial state of<ThemedSiderV2>
. From now on, you can control the initial collapsed state of<ThemedSiderV2>
by passing theinitialSiderCollapsed
prop to<ThemedLayoutV2>
.<ThemedLayoutV2 initialSiderCollapsed={true} // This will make the sider collapsed by default > {/* .. */} </ThemedLayoutV2>
-
#4209
3f4b5fef76f
Thanks @yildirayunlu! - feat: addisSticky
prop toThemedHeaderV2
component. Default istrue
.import { ThemedHeaderV2, ThemedLayoutV2 } from "@refinedev/mui"; const CustomHeader = () => <ThemedHeaderV2 isSticky={false} />; const App = () => ( <Refine> // ... <ThemedLayoutV2 Header={CustomHeader}> <Outlet /> </ThemedLayoutV2> // ... </Refine> );
Patch Changes
- Updated dependencies [
c99bc0ad7f7
,3f4b5fef76f
]:- @refinedev/ui-types@1.11.0
4.12.0
Minor Changes
-
#4194
8df15fe0e4e
Thanks @alicanerdurmaz! - feat:sorters.mode
prop added touseTable
anduseDataGrid
hooks. This prop handles the sorting mode of the table. It can be eitherserver
oroff
.- "off":
sorters
are not sent to the server. You can use thesorters
value to sort the records on the client side. - "server": Sorting is done on the server side. Records will be fetched by using the
sorters
value.
feat:
filters.mode
prop added touseTable
anduseDataGrid
hooks. This prop handles the filtering mode of the table. It can be eitherserver
oroff
.- "off":
filters
are not sent to the server. You can use thefilters
value to filter the records on the client side. - "server": Filtering is done on the server side. Records will be fetched by using the
filters
value.
- "off":
Patch Changes
- Updated dependencies [
b992e11e338
]:- @refinedev/react-hook-form@4.2.2
4.11.0
Minor Changes
-
#4194
8df15fe0e4e
Thanks @alicanerdurmaz! - feat:sorters.mode
prop added touseTable
anduseDataGrid
hooks. This prop handles the sorting mode of the table. It can be eitherserver
oroff
.- "off":
sorters
are not sent to the server. You can use thesorters
value to sort the records on the client side. - "server": Sorting is done on the server side. Records will be fetched by using the
sorters
value.
feat:
filters.mode
prop added touseTable
anduseDataGrid
hooks. This prop handles the filtering mode of the table. It can be eitherserver
oroff
.- "off":
filters
are not sent to the server. You can use thefilters
value to filter the records on the client side. - "server": Filtering is done on the server side. Records will be fetched by using the
filters
value.
- "off":
Patch Changes
- Updated dependencies [
b992e11e338
]:- @refinedev/react-hook-form@4.2.1
4.10.3
Patch Changes
-
#4198
6081efbc26b
Thanks @salihozdemir! - fix:useAutocomplete
now resets the search value when the option is selected -
Updated dependencies [
deec38a034a
]:- @refinedev/ui-types@1.10.0
4.10.2
Patch Changes
-
#4198
6081efbc26b
Thanks @salihozdemir! - fix:useAutocomplete
now resets the search value when the option is selected -
Updated dependencies [
deec38a034a
]:- @refinedev/ui-types@1.9.0
4.10.1
Patch Changes
-
#4198
6081efbc26b
Thanks @salihozdemir! - fix:useAutocomplete
now resets the search value when the option is selected -
Updated dependencies [
deec38a034a
]:- @refinedev/ui-types@1.8.0
4.10.0
Minor Changes
-
#4153
8d9c408d089
Thanks @yildirayunlu! - feat: addThemedLayoutV2
andHamburgerMenu
componentThemeLayout
is deprecated. AddedThemedLayoutV2
instead. This update fixed some UI problems in the layout. Also, with the new<HamburgerMenu />
component, it's easier to collapse/uncollapse theSider
.See here for detailed migration guideline.
Patch Changes
- Updated dependencies [
8d9c408d089
]:- @refinedev/ui-types@1.7.0
4.9.0
Minor Changes
-
#4153
8d9c408d089
Thanks @yildirayunlu! - feat: addThemedLayoutV2
andHamburgerMenu
componentThemeLayout
is deprecated. AddedThemedLayoutV2
instead. This update fixed some UI problems in the layout. Also, with the new<HamburgerMenu />
component, it's easier to collapse/uncollapse theSider
.See here for detailed migration guideline.
Patch Changes
- Updated dependencies [
8d9c408d089
]:- @refinedev/ui-types@1.6.0
4.8.0
Minor Changes
-
#4113
1c13602e308
Thanks @salihozdemir! - Added missing third generic parameter to hooks which are usinguseQuery
internally.For example:
import { useOne, HttpError } from "@refinedev/core"; const { data } = useOne<{ count: string }, HttpError, { count: number }>({ resource: "product-count", queryOptions: { select: (rawData) => { return { data: { count: Number(rawData?.data?.count), }, }; }, }, }); console.log(typeof data?.data.count); // number
Patch Changes
-
#4113
1c13602e308
Thanks @salihozdemir! - Updated the generic type name of hooks that useuseQuery
to synchronize generic type names withtanstack-query
. -
Updated dependencies [
1c13602e308
]:- @refinedev/react-hook-form@4.2.0
4.7.2
Patch Changes
-
#4115
1d44ef15575
Thanks @yildirayunlu! - Fixed icon and list item spacing for Material UI -
Updated dependencies [
1f310bd7b69
]:- @refinedev/react-hook-form@4.1.6
4.7.1
Patch Changes
-
#4115
1d44ef15575
Thanks @yildirayunlu! - Fixed icon and list item spacing for Material UI -
Updated dependencies [
1f310bd7b69
]:- @refinedev/react-hook-form@4.1.5
4.7.0
Minor Changes
- #4072
fad40e6237f
Thanks @alicanerdurmaz! - -<Layout>
is deprecated. use<ThemedLayout>
instead with 100% backward compatibility. - https://refine.dev/docs/api-reference/mui/components/mui-themed-layout
Patch Changes
- Updated dependencies [
afdaed3dd83
]:- @refinedev/react-hook-form@4.1.4
4.6.0
Minor Changes
- #4072
fad40e6237f
Thanks @alicanerdurmaz! - -<Layout>
is deprecated. use<ThemedLayout>
instead with 100% backward compatibility. - https://refine.dev/docs/api-reference/mui/components/mui-themed-layout
Patch Changes
- Updated dependencies [
afdaed3dd83
]:- @refinedev/react-hook-form@4.1.3
4.5.10
Patch Changes
222f3baacc6
Thanks @omeraplak! - fixed 'Sign in' link on the ForgotPassword page
4.5.9
Patch Changes
222f3baacc6
Thanks @omeraplak! - fixed 'Sign in' link on the ForgotPassword page
4.5.8
Patch Changes
- #4033
08955914473
Thanks @alicanerdurmaz! - - Fixed: Sider toggle button color - The color of the toggle button in the<ThemedSider>
and<ThemedHeader>
does not meet the contrast ratio. This is now fixed.
4.5.7
Patch Changes
- #4033
08955914473
Thanks @alicanerdurmaz! - - Fixed: Sider toggle button color - The color of the toggle button in the<ThemedSider>
and<ThemedHeader>
does not meet the contrast ratio. This is now fixed.
4.5.6
Patch Changes
- #4024
dc6d2311eb7
Thanks @alicanerdurmaz! - - Added: defaultgap: 8px
to<ThemedTitle>
component.
4.5.5
Patch Changes
- #4024
dc6d2311eb7
Thanks @alicanerdurmaz! - - Added: defaultgap: 8px
to<ThemedTitle>
component.
4.5.4
Patch Changes
- #3974
4dcc20d6a60
Thanks @salihozdemir! - Deprecated theWelcomePage
component. It'll be used from@refinedev/core
instead.
4.5.3
Patch Changes
- #3974
4dcc20d6a60
Thanks @salihozdemir! - Deprecated theWelcomePage
component. It'll be used from@refinedev/core
instead.
4.5.2
Patch Changes
-
#3975
b1e6e32f9a1
Thanks @alicanerdurmaz! - - Fixed the unsaved changes dialog is popping up unexpectedly when the user clicks the logs out.- The `<ThemedSider>`'s `onClick` handler was changed to use the `window.confirm` API to manage the confirmation dialog.
<RefineThemes>
colors updated to match the new theme colors.
-
Updated dependencies [
2798f715361
]:- @refinedev/ui-types@1.5.0
4.5.1
Patch Changes
-
#3975
b1e6e32f9a1
Thanks @alicanerdurmaz! - - Fixed the unsaved changes dialog is popping up unexpectedly when the user clicks the logs out.- The `<ThemedSider>`'s `onClick` handler was changed to use the `window.confirm` API to manage the confirmation dialog.
<RefineThemes>
colors updated to match the new theme colors.
-
Updated dependencies [
2798f715361
]:- @refinedev/ui-types@1.4.0
4.5.0
Minor Changes
-
#3949
836b06a2f67
Thanks @alicanerdurmaz! - -RefineThemes
added. It contains predefined colors for the Material UI components.import { Refine } from "@refinedev/core"; import { RefineThemes } from "@refinedev/mui"; import { ThemeProvider } from "@mui/material/styles"; import dataProvider from "@refinedev/simple-rest"; const App = () => { // --- return ( <ThemeProvider theme={RefineThemes.MagentaDark}> <Refine dataProvider={dataProvider("YOUR_API_URL")}> {/** your app here */} </Refine> </ConfigProvider> ); };
- default title with icon added to
AuthPage
. It uses<ThemedTitle>
component from@refinedev/mui
. You can remove it by settingtitle
prop tofalse
.
import { AuthPage } from "@refinedev/mui"; const MyAuthPage = () => { return <AuthPage title={false} />; };
title
prop added toAuthPage
'srenderContent
prop to use in the custom content.
import { AuthPage } from "@refinedev/mui"; const MyAuthPage = () => { return ( <AuthPage renderContent={(content: React.ReactNode, title: React.ReactNode) => { return ( <div style={{ display: "flex", flexDirection: "column", justifyContent: "center", alignItems: "center", }} > {title} <h1 style={{ color: "white" }}>Extra Header</h1> {content} <h1 style={{ color: "white" }}>Extra Footer</h1> </div> ); }} /> ); };
-
<ThemedLayout>
,<ThemedSider>
,<ThemedTitle>
,<ThemedHeader>
created to use theme colors. -
<AuthPage>
component uses colors from the theme. -
<ThemedTitle>
added toAuthPage
- default title with icon added to
Patch Changes
- #3956
c54714ed9ab
Thanks @salihozdemir! - Fixed an issue where the<NumberField />
component would throw an error if thevalue
prop was set toundefined
.
4.4.0
Minor Changes
-
#3949
836b06a2f67
Thanks @alicanerdurmaz! - -RefineThemes
added. It contains predefined colors for the Material UI components.import { Refine } from "@refinedev/core"; import { RefineThemes } from "@refinedev/mui"; import { ThemeProvider } from "@mui/material/styles"; import dataProvider from "@refinedev/simple-rest"; const App = () => { // --- return ( <ThemeProvider theme={RefineThemes.MagentaDark}> <Refine dataProvider={dataProvider("YOUR_API_URL")}> {/** your app here */} </Refine> </ConfigProvider> ); };
- default title with icon added to
AuthPage
. It uses<ThemedTitle>
component from@refinedev/mui
. You can remove it by settingtitle
prop tofalse
.
import { AuthPage } from "@refinedev/mui"; const MyAuthPage = () => { return <AuthPage title={false} />; };
title
prop added toAuthPage
'srenderContent
prop to use in the custom content.
import { AuthPage } from "@refinedev/mui"; const MyAuthPage = () => { return ( <AuthPage renderContent={(content: React.ReactNode, title: React.ReactNode) => { return ( <div style={{ display: "flex", flexDirection: "column", justifyContent: "center", alignItems: "center", }} > {title} <h1 style={{ color: "white" }}>Extra Header</h1> {content} <h1 style={{ color: "white" }}>Extra Footer</h1> </div> ); }} /> ); };
-
<ThemedLayout>
,<ThemedSider>
,<ThemedTitle>
,<ThemedHeader>
created to use theme colors. -
<AuthPage>
component uses colors from the theme. -
<ThemedTitle>
added toAuthPage
- default title with icon added to
Patch Changes
- #3956
c54714ed9ab
Thanks @salihozdemir! - Fixed an issue where the<NumberField />
component would throw an error if thevalue
prop was set toundefined
.
4.3.2
Patch Changes
-
#3948
b4950503334
Thanks @salihozdemir! - Fixed the unsaved changes dialog is popping up unexpectedly when the user clicks the delete button or logs out, when the form is dirty.- The
<DeleteButton>
already has a confirmation dialog, so the alert was removed. - The
<Sider>
'sonClick
handler was changed to use thewindow.confirm
API to manage the confirmation dialog.
- The
4.3.1
Patch Changes
-
#3948
b4950503334
Thanks @salihozdemir! - Fixed the unsaved changes dialog is popping up unexpectedly when the user clicks the delete button or logs out, when the form is dirty.- The
<DeleteButton>
already has a confirmation dialog, so the alert was removed. - The
<Sider>
'sonClick
handler was changed to use thewindow.confirm
API to manage the confirmation dialog.
- The
4.3.0
Minor Changes
- #3912
0ffe70308b2
Thanks @alicanerdurmaz! - -title
prop added toAuthPage
'srenderContent
prop to use in the custom content.title
prop added toAuthPage
to render a custom title.- ⚠️ These features have not been implemented yet. Only types were added. It will be implemented in the next release.
Patch Changes
- Updated dependencies [
0ffe70308b2
]:- @refinedev/ui-types@1.3.0
4.2.0
Minor Changes
- #3912
0ffe70308b2
Thanks @alicanerdurmaz! - -title
prop added toAuthPage
'srenderContent
prop to use in the custom content.title
prop added toAuthPage
to render a custom title.- ⚠️ These features have not been implemented yet. Only types were added. It will be implemented in the next release.
Patch Changes
- Updated dependencies [
0ffe70308b2
]:- @refinedev/ui-types@1.2.0
4.1.0
Minor Changes
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk! Updated buttons with
resource
property.resourceNameOrRouteName
is now deprecated but kept working until next major version. -
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!
🪄 Migrating your project automatically with refine-codemod ✨
@refinedev/codemod
package handles the breaking changes for your project automatically, without any manual steps. It migrates your project from3.x.x
to4.x.x
.Just
cd
into root folder of your project (wherepackage.json
is contained) and run this command:npx @refinedev/codemod@latest refine3-to-refine4
And it's done. Now your project uses
refine@4.x.x
.📝 Changelog
Deprecated
useMenu
removed from@refinedev/mui
package. UseuseMenu
from@refinedev/core
package instead.- import { useMenu } from "@refinedev/mui"; + import { useMenu } from "@refinedev/core";
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!
meta
prop is added. To ensure backward compatibility,metaData
prop will be used ifmeta
prop is not provided. -
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk! Updated the components to match the changes in routing system of
@refinedev/core
.meta
property in componentsThis includes
meta
props in buttons andSider
component.meta
property can be used to pass additional parameters to the navigation paths.For a
posts
resource definition like this:<Refine resources={[ { name: "posts", list: "/posts", show: "/:authorId/posts/:id", } ]} >
You can pass
authorId
to theShowButton
component like this:<ShowButton resource="posts" id="1" meta={{ authorId: 123 }}>
This will navigate to
/123/posts/1
path.Removed props
ignoreAccessControlProvider
prop is removed from buttons.cardProps
,cardHeaderProps
,cardContentProps
,cardActionsProps
andactionButtons
props are removed from CRUD component.
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk! All Material UI components re-exported from
@refinedev/mui
have been removed. You should import them from Material UI packages directly.If the packages are not installed, you can install them with your package manager:
You don't have to install all of these packages below. Only install the packages you use.
npm install @mui/material @emotion/react @emotion/styled @mui/lab @mui/x-data-grid # or pnpm add @mui/material @emotion/react @emotion/styled @mui/lab @mui/x-data-grid # or yarn add @mui/material @emotion/react @emotion/styled @mui/lab @mui/x-data-grid
After that, you can import them from related packages directly.
- import { - Box, - NumberField, - Stack, - Typography, - ThemeProvider, - DataGrid - LoadingButton, - } from "@refinedev/mui"; + import { NumberField } from "@refinedev/mui"; + import { ThemeProvider } from "@mui/material/styles"; + import { Box, Stack, Typography } from "@mui/material"; + import { DataGrid } from "@mui/x-data-grid"; + import { LoadingButton } from "@mui/lab";
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!
<ReadyPage>
isnow deprecated.- Created a
<WelcomePage>
component to welcome users.
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!
useAutocomplete
's sort prop is now deprecated. Usesorters
prop instead.
useAutocomplete({ - sort, + sorters, })
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk! Added legacy auth provider and new auth provider support to all components and hooks.
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!
useDataGrid
return values and properties are updated.-
initialCurrent
andinitialPageSize
props are now deprecated. Usepagination
prop instead. -
To ensure backward compatibility,
initialCurrent
andinitialPageSize
props will work as before.useDataGrid({ - initialCurrent, - initialPageSize, + pagination: { + current, + pageSize, + }, })
-
hasPagination
prop is now deprecated. Usepagination.mode
instead. -
To ensure backward compatibility,
hasPagination
prop will work as before.useDataGrid({ - hasPagination, + pagination: { + mode: "off" | "server" | "client", + }, })
-
initialSorter
andpermanentSorter
props are now deprecated. Usesorters.initial
andsorters.permanent
instead. -
To ensure backward compatibility,
initialSorter
andpermanentSorter
props will work as before.useDataGrid({ - initialSorter, - permanentSorter, + sorters: { + initial, + permanent, + }, })
-
initialFilter
,permanentFilter
, anddefaultSetFilterBehavior
props are now deprecated. Usefilters.initial
,filters.permanent
, andfilters.defaultBehavior
instead. -
To ensure backward compatibility,
initialFilter
,permanentFilter
, anddefaultSetFilterBehavior
props will work as before.useDataGrid({ - initialFilter, - permanentFilter, - defaultSetFilterBehavior, + filters: { + initial, + permanent, + defaultBehavior, + }, })
-
sorter
andsetSorter
return values are now deprecated. Usesorters
andsetSorters
instead. -
To ensure backward compatibility,
sorter
andsetSorter
return values will work as before.const { - sorter, + sorters, - setSorter, + setSorters, } = useDataGrid();
-
-
Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk! Moving to the
@refinedev
scope 🎉🎉Moved to the
@refinedev
scope and updated our packages to use the new scope. From now on, all packages will be published under the@refinedev
scope with their new names.Now, we're also removing the
refine
prefix from all packages. So, the@pankod/refine-core
package is now@refinedev/core
,@pankod/refine-antd
is now@refinedev/antd
, and so on.
Patch Changes
3.63.0
Minor Changes
- #3822
0baa99ba787
Thanks @BatuhanW! - - refine v4 release announcement added to "postinstall". - refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x
Patch Changes
- Updated dependencies [
0baa99ba787
]:- @pankod/refine-react-hook-form@3.39.0
- @pankod/refine-ui-types@0.16.0
3.62.0
Minor Changes
- #3822
0baa99ba787
Thanks @BatuhanW! - - refine v4 release announcement added to "postinstall". - refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x
Patch Changes
- Updated dependencies [
0baa99ba787
]:- @pankod/refine-react-hook-form@3.38.0
- @pankod/refine-ui-types@0.15.0
3.61.5
Patch Changes
- #3517
ce6ed28ce3d
Thanks @yildirayunlu! - Fix multi-level Sider menu. (#3505)
3.61.4
Patch Changes
- #3517
ce6ed28ce3d
Thanks @yildirayunlu! - Fix multi-level Sider menu. (#3505)
3.61.3
Patch Changes
- #3399
22b44a857a8
Thanks @yildirayunlu! - FixuseTable
hook error return type.
3.61.2
Patch Changes
-
#3220
b867497f469
Thanks @aliemir! - Updated image links inREADME.MD
with CDN -
93a7d7088ae
Thanks @omeraplak! - Fixedexperimental_sx
export -
Updated dependencies [
b867497f469
]:- @pankod/refine-ui-types@0.14.2
3.61.1
Patch Changes
-
#3220
b867497f469
Thanks @aliemir! - Updated image links inREADME.MD
with CDN -
93a7d7088ae
Thanks @omeraplak! - Fixedexperimental_sx
export -
Updated dependencies [
b867497f469
]:- @pankod/refine-ui-types@0.14.1
3.61.0
Minor Changes
- #3159
af2eefb32a4
Thanks @aliemir! - UpdatedLoginPage
andReadyPage
to use refine logos from CDN rather than bundled svg files.
3.60.0
Minor Changes
- #3159
af2eefb32a4
Thanks @aliemir! - UpdatedLoginPage
andReadyPage
to use refine logos from CDN rather than bundled svg files.
3.59.4
Patch Changes
- #3128
db1000a7628
Thanks @alicanerdurmaz! - Fixed:crud
components import path changed to relative path due to export issues on build.
3.59.3
Patch Changes
- #3128
db1000a7628
Thanks @alicanerdurmaz! - Fixed:crud
components import path changed to relative path due to export issues on build.
3.59.2
Patch Changes
- #3109
16549ed3012
Thanks @aliemir! - Updatedswizzle
items and their messages to include extra information and usage examples.
3.59.1
Patch Changes
- #3109
16549ed3012
Thanks @aliemir! - Updatedswizzle
items and their messages to include extra information and usage examples.
3.59.0
Minor Changes
- #3062
6c2ed708a9a
Thanks @aliemir! - - Updated components and their type imports to make them compatible withswizzle
feature.- Added
refine.config.js
to configure theswizzle
feature.
- Added
3.58.0
Minor Changes
- #3062
6c2ed708a9a
Thanks @aliemir! - - Updated components and their type imports to make them compatible withswizzle
feature.- Added
refine.config.js
to configure theswizzle
feature.
- Added
3.57.0
Minor Changes
- #3076
bcd47eabbfc
Thanks @ahhshm! - exported material-ui localization files
3.56.0
Minor Changes
- #3076
bcd47eabbfc
Thanks @ahhshm! - exported material-ui localization files
3.55.2
Patch Changes
- #2975
249f9521c4
Thanks @salihozdemir! - Prevented server request when empty filter value is provided.
3.55.1
Patch Changes
- #2975
249f9521c4
Thanks @salihozdemir! - Prevented server request when empty filter value is provided.
3.55.0
Minor Changes
-
#2872
da3fc4a702
Thanks @TDP17! - Feat: Added ability to manage breadcrumb component globally via optionsThe option set in individual CRUD components takes priority over the global option
3.54.0
Minor Changes
-
#2872
da3fc4a702
Thanks @TDP17! - Feat: Added ability to manage breadcrumb component globally via optionsThe option set in individual CRUD components takes priority over the global option
3.53.0
Minor Changes
-
#2839
5388a338ab
Thanks @aliemir! - DeprecationignoreAccessControlProvider
prop on buttons is deprecated. UseaccessContro.enabled
instead.Features
accessControl.enabled
prop is added to buttons to enable/disable access control for buttons.accessControl.hideIfUnauthorized
prop is added to buttons to hide the button if access is denied. -
#2836
e43e9a17ae
Thanks @alicanerdurmaz! - added locales prop to date fields
Patch Changes
-
#2838
f7968fa16f
Thanks @aliemir! - Fixed #2828 - Buttons were not respecting access control when navigating to a new page. Now, if button is disabled, it will not also block the navigation not just the onClick event. -
Updated dependencies [
476285e342
,5388a338ab
,e43e9a17ae
]:- @pankod/refine-ui-types@0.14.0
3.52.0
Minor Changes
- #2836
e43e9a17ae
Thanks @alicanerdurmaz! - added locales prop to date fields
Patch Changes
- Updated dependencies [
e43e9a17ae
]:- @pankod/refine-ui-types@0.13.0
3.51.0
Minor Changes
-
#2839
5388a338ab
Thanks @aliemir! - DeprecationignoreAccessControlProvider
prop on buttons is deprecated. UseaccessContro.enabled
instead.Features
accessControl.enabled
prop is added to buttons to enable/disable access control for buttons.accessControl.hideIfUnauthorized
prop is added to buttons to hide the button if access is denied.
Patch Changes
-
#2838
f7968fa16f
Thanks @aliemir! - Fixed #2828 - Buttons were not respecting access control when navigating to a new page. Now, if button is disabled, it will not also block the navigation not just the onClick event. -
Updated dependencies [
476285e342
,5388a338ab
]:- @pankod/refine-ui-types@0.12.0
3.50.7
Patch Changes
-
Fix login link alignment on forgot password page.
-
Updated dependencies []:
- @pankod/refine-ui-types@0.11.6
3.50.6
Patch Changes
-
#2787
eeb7303b8b
Thanks @yildirayunlu! - Fix login link alignment on forgot password page. -
Updated dependencies [
19124711a7
]:- @pankod/refine-ui-types@0.11.5
3.50.5
Patch Changes
- Fixed
providers
property empty array state in<AuthPage />
component
3.50.4
Patch Changes
- Fixed
providers
property empty array state in<AuthPage />
component
3.50.3
Patch Changes
- #2712
c434055011
Thanks @omeraplak! - Fixedproviders
property empty array state in<AuthPage />
component
3.50.2
Patch Changes
- Add AuthProps type export
3.50.1
Patch Changes
- #2666
8a562d2114
Thanks @omeraplak! - Add AuthProps type export
3.50.0
Minor Changes
-
- Added new component core and mantine support.
- Move Auth types
@pankod/refine-ui-types
to@pankod/refine-core
3.49.0
Minor Changes
- #2627
c5fb45d61f
Thanks @yildirayunlu! - - Added new component core and mantine support.- Move Auth types
@pankod/refine-ui-types
to@pankod/refine-core
- Move Auth types
3.48.2
Patch Changes
- fix(material-ui): fix missing
<Header />
component export
3.48.1
Patch Changes
- #2635
c24fb19264
Thanks @Coinio! - fix(material-ui): fix missing<Header />
component export
3.48.0
Minor Changes
-
-
Added
<AuthPage>
for Material UI package of refine.<AuthPage>
is a component that provides a login, register, forgot password and update password pages. -
Deprecated
LoginPage
.
Before
import { LoginPage } from "@pankod/refine-mui"; <Refine LoginPage={LoginPage} ... />
After
import { AuthPage } from "@pankod/refine-mui"; <Refine LoginPage={AuthPage} ... />
-
3.47.0
Minor Changes
-
-
Added
<AuthPage>
for Material UI package of refine.<AuthPage>
is a component that provides a login, register, forgot password and update password pages. -
Deprecated
LoginPage
.
Before
import { LoginPage } from "@pankod/refine-mui"; <Refine LoginPage={LoginPage} ... />
After
import { AuthPage } from "@pankod/refine-mui"; <Refine LoginPage={AuthPage} ... />
-
3.46.0
Minor Changes
-
#2580
e1ab7da6b3
Thanks @yildirayunlu! - - Added<AuthPage>
for Material UI package of refine.<AuthPage>
is a component that provides a login, register, forgot password and update password pages.- Deprecated
LoginPage
.
Before
import { LoginPage } from "@pankod/refine-mui"; <Refine LoginPage={LoginPage} ... />
After
import { AuthPage } from "@pankod/refine-mui"; <Refine LoginPage={AuthPage} ... />
- Deprecated
3.45.9
Patch Changes
- ReadyPage examples link fixed.
3.45.8
Patch Changes
- #2505
a4dbb63c88
Thanks @salihozdemir! - ReadyPage examples link fixed.
3.45.7
Patch Changes
-
Updated
disabled
attribute of buttons in CRUD components according toisLoading
prop. -
Removed redundant type inheritance
-
Updated dependencies []:
- @pankod/refine-ui-types@0.11.2
3.45.6
Patch Changes
-
#2586
d7c8b7642b
Thanks @necatiozmen! - Removed redundant type inheritance -
Updated dependencies [
d7c8b7642b
]:- @pankod/refine-ui-types@0.11.1
3.45.5
Patch Changes
- #2585
e7ab42a73b
Thanks @salihozdemir! - Updateddisabled
attribute of buttons in CRUD components according toisLoading
prop.
3.45.4
Patch Changes
- Updated dependencies []:
- @pankod/refine-ui-types@0.11.0
3.45.3
Patch Changes
- Updated dependencies [
a65525de6f
]:- @pankod/refine-ui-types@0.10.0
3.45.2
Patch Changes
- Updated dependencies []:
- @pankod/refine-ui-types@0.9.0
3.45.1
Patch Changes
- Updated dependencies [
ad99916d6d
]:- @pankod/refine-ui-types@0.8.0
3.45.0
Minor Changes
- Added
render
prop toSider
component. You can getdashboard
,logout
anditems
fromrender
props to customize theSider
component.
Patch Changes
-
Fixed version of react-router to
6.3.0
-
Passed
collapsed
prop torender
method inSider
component of@pankod/refine-mui
. -
Updated dependencies []:
- @pankod/refine-react-hook-form@3.33.2
- @pankod/refine-ui-types@0.7.0
3.44.2
Patch Changes
-
#2501
4095a578d4
Thanks @omeraplak! - Fixed version of react-router to6.3.0
-
Updated dependencies [
4095a578d4
]:- @pankod/refine-react-hook-form@3.33.1
3.44.1
Patch Changes
-
#2492
7d5bf3023d
Thanks @ozkalai! - Passedcollapsed
prop torender
method inSider
component of@pankod/refine-mui
. -
Updated dependencies [
7d5bf3023d
]:- @pankod/refine-ui-types@0.6.1
3.44.0
Minor Changes
- #2454
72487a4126
Thanks @ozkalai! - Addedrender
prop toSider
component. You can getdashboard
,logout
anditems
fromrender
props to customize theSider
component.
Patch Changes
- Updated dependencies [
72487a4126
]:- @pankod/refine-ui-types@0.6.0
3.43.0
Minor Changes
- Update type declaration generation with
tsc
instead oftsup
for better navigation throughout projects source code.
Patch Changes
-
Update
ThemeProvider
export as value instead of type. -
Updated dependencies []:
- @pankod/refine-react-hook-form@3.33.0
- @pankod/refine-ui-types@0.5.0
3.42.0
Minor Changes
- #2440
0150dcd070
Thanks @aliemir! - Update type declaration generation withtsc
instead oftsup
for better navigation throughout projects source code.
Patch Changes
-
#2440
0150dcd070
Thanks @aliemir! - UpdateThemeProvider
export as value instead of type. -
Updated dependencies [
0150dcd070
,0150dcd070
]:- @pankod/refine-react-hook-form@3.32.0
- @pankod/refine-ui-types@0.4.0
3.41.16
Patch Changes
-
Fix: Wrap with
<CanAccess />
component to parent sider items<Refine accessControlProvider={{ can: async ({ action, resource }) => { // console.log({ action, resource }); // output: {action: "list", resource: "cms" } return { can: true }; }, }} resources={[ { name: "CMS", }, { name: "posts", parentName: "CMS", list: PostList, }, ]} />
3.41.15
Patch Changes
-
#2411
c61470a2e0
Thanks @omeraplak! - Fix: Wrap with<CanAccess />
component to parent sider items<Refine accessControlProvider={{ can: async ({ action, resource }) => { // console.log({ action, resource }); // output: {action: "list", resource: "cms" } return { can: true }; }, }} resources={[ { name: "CMS", }, { name: "posts", parentName: "CMS", list: PostList, }, ]} />
3.41.14
Patch Changes
-
lodash
moved to "dependencies" for CommonJS builds
3.41.13
Patch Changes
-
lodash
moved to "dependencies" for CommonJS builds
3.41.12
Patch Changes
-
lodash
moved to "dependencies" for CommonJS builds
3.41.11
Patch Changes
- #2366
de87f13dad
Thanks @omeraplak! - -lodash
moved to "dependencies" for CommonJS builds
3.41.10
Patch Changes
lodash
moved to dependencies.
3.41.9
Patch Changes
- #2350
f8e5d99598
Thanks @ozkalai! -lodash
moved to dependencies.
3.41.8
Patch Changes
- Added React 17 support to
peerDependencies
.
3.41.7
Patch Changes
- #2306
bb3183d3eb
Thanks @aliemir! - Added React 17 support topeerDependencies
.
3.41.6
Patch Changes
- Fixed
StackProps
andStackTypeMap
type exports
3.41.5
Patch Changes
- #2300
59f9e5eebf
Thanks @omeraplak! - FixedStackProps
andStackTypeMap
type exports
3.41.4
Patch Changes
-
Upgraded
react-query
version to 4. -
Updated dependencies []:
- @pankod/refine-react-hook-form@3.31.2
3.41.3
Patch Changes
-
#2260
a97ec592df
Thanks @salihozdemir! - Upgradedreact-query
version to 4. -
Updated dependencies [
6847672849
]:- @pankod/refine-react-hook-form@3.31.1
3.41.2
Patch Changes
- Remove
data-testid
props from buttons in crud components to make use of button test ids presented by@pankod/refine-ui-types
package.
-
Updated
@pankod/refine-antd
and@pankod/refine-mui
fields
properties by using@pankod/refine-ui-types
commonfields
types.Updated
@pankod/refine-antd
and@pankod/refine-mui
fields
tests by using@pankod/refine-ui-tests
commonfields
tests.Updated
@pankod/refine-ui-tests
fields
properties.
-
Added
@pankod/refine-ui-tests
and@pankod/refine-ui-types
packages. Now, all of button prop types comes from@pankod/refine-ui-types
package and all of button tests comes from@pankod/refine-ui-tests
package.Thus, button types and tests are managed by
@pankod/refine-ui-types
package and@pankod/refine-ui-tests
package. -
Updated dependencies []:
- @pankod/refine-ui-types@0.3.0
3.41.1
Patch Changes
- #2216
201846c77d
Thanks @aliemir! - Removedata-testid
props from buttons in crud components to make use of button test ids presented by@pankod/refine-ui-types
package.
-
#2216
201846c77d
Thanks @aliemir! - Updated@pankod/refine-antd
and@pankod/refine-mui
fields
properties by using@pankod/refine-ui-types
commonfields
types.Updated
@pankod/refine-antd
and@pankod/refine-mui
fields
tests by using@pankod/refine-ui-tests
commonfields
tests.Updated
@pankod/refine-ui-tests
fields
properties.
-
#2216
201846c77d
Thanks @aliemir! - Added@pankod/refine-ui-tests
and@pankod/refine-ui-types
packages. Now, all of button prop types comes from@pankod/refine-ui-types
package and all of button tests comes from@pankod/refine-ui-tests
package.Thus, button types and tests are managed by
@pankod/refine-ui-types
package and@pankod/refine-ui-tests
package. -
Updated dependencies [
201846c77d
]:- @pankod/refine-ui-types@0.2.0
3.41.0
Minor Changes
- Add React@18 support 🚀
Patch Changes
- Updated dependencies []:
- @pankod/refine-react-hook-form@3.31.0
3.40.0
Minor Changes
- #1718
b38620d842
Thanks @omeraplak! - Add React@18 support 🚀
Patch Changes
- Updated dependencies [
b38620d842
]:- @pankod/refine-react-hook-form@3.30.0
3.39.2
Patch Changes
- Updated
console.warn
's to trigger once.
3.39.1
Patch Changes
- #2223
0a215f2000
Thanks @salihozdemir! - Updatedconsole.warn
's to trigger once.
3.39.0
Minor Changes
-
All of the refine packages have dependencies on the
@pankod/refine-core
package. So far we have managed these dependencies withpeerDependencies
+dependencies
but this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)Managing as
peerDependencies
+devDependencies
seems like the best way for now to avoid such issues.
Patch Changes
- Updated dependencies []:
- @pankod/refine-react-hook-form@3.29.0
3.38.0
Minor Changes
-
#2217
b4aae00f77
Thanks @omeraplak! - All of the refine packages have dependencies on the@pankod/refine-core
package. So far we have managed these dependencies withpeerDependencies
+dependencies
but this causes issues like #2183. (having more than one @pankod/refine-core version in node_modules and creating different instances)Managing as
peerDependencies
+devDependencies
seems like the best way for now to avoid such issues.
Patch Changes
- Updated dependencies [
b4aae00f77
]:- @pankod/refine-react-hook-form@3.28.0
3.37.2
Patch Changes
-
Add
dataProviderName
property for<RefreshButton>
and<DeleteButton>
in<Edit>
and<Show>
CRUD components - #2096 -
Updated dependencies []:
- @pankod/refine-core@3.38.0
3.37.1
Patch Changes
-
#2106
10a20d8714
Thanks @omeraplak! - AdddataProviderName
property for<RefreshButton>
and<DeleteButton>
in<Edit>
and<Show>
CRUD components - #2096 -
Updated dependencies [
9d77c63a92
,98966b586f
]:- @pankod/refine-core@3.37.0
3.37.0
Minor Changes
-
The
useDataGrid
hook required thecolumns
property. Therefore, thequeryResult
could not be used in thecolumns
. Now, we can define thecolumns
property wherever we want since theuseDataGrid
hook does not take thecolumn
property.export const PostsList: React.FC = () => { - const { dataGridProps } = useDataGrid<IPost>({ - columns, - }); + const { dataGridProps } = useDataGrid<IPost>(); return ( <List> - <DataGrid {...dataGridProps} autoHeight /> + <DataGrid {...dataGridProps} columns={columns} autoHeight /> </List> ); };
3.36.0
Minor Changes
-
#2072
bbca622ede
Thanks @salihozdemir! - TheuseDataGrid
hook required thecolumns
property. Therefore, thequeryResult
could not be used in thecolumns
. Now, we can define thecolumns
property wherever we want since theuseDataGrid
hook does not take thecolumn
property.export const PostsList: React.FC = () => { - const { dataGridProps } = useDataGrid<IPost>({ - columns, - }); + const { dataGridProps } = useDataGrid<IPost>(); return ( <List> - <DataGrid {...dataGridProps} autoHeight /> + <DataGrid {...dataGridProps} columns={columns} autoHeight /> </List> ); };
3.34.0
Minor Changes
-
Updated
useDataGrid
hook withhasPagination
to enable/disable pagination.Implementation
Updated the
useDataGrid
accordingly to the changes in theuseTable
of@pankod/refine-core
.hasPagination
property is being send directly to theuseTable
of@pankod/refine-core
to disable pagination.Use Cases
In some data providers, some of the resources might not support pagination which was not supported prior to these changes. To handle the pagination on the client-side or to disable completely, users can set
hasPagination
tofalse
.
Patch Changes
-
Fixed
<Link>
usage in packages.- <Link href={route} to={route}> - {label} - </Link> + <Link to={route}>{label}</Link>
We used to have to pass
href
andto
for Next.js and React applications, now we just need to passto
. refine router providers handle for us. -
Updated dependencies []:
- @pankod/refine-core@3.36.0
3.33.0
Minor Changes
-
#2050
635cfe9fdb
Thanks @ozkalai! - UpdateduseDataGrid
hook withhasPagination
to enable/disable pagination.Implementation
Updated the
useDataGrid
accordingly to the changes in theuseTable
of@pankod/refine-core
.hasPagination
property is being send directly to theuseTable
of@pankod/refine-core
to disable pagination.Use Cases
In some data providers, some of the resources might not support pagination which was not supported prior to these changes. To handle the pagination on the client-side or to disable completely, users can set
hasPagination
tofalse
.
Patch Changes
-
#2061
0237725cf3
Thanks @salihozdemir! - Fixed<Link>
usage in packages.- <Link href={route} to={route}> - {label} - </Link> + <Link to={route}>{label}</Link>
We used to have to pass
href
andto
for Next.js and React applications, now we just need to passto
. refine router providers handle for us. -
Updated dependencies [
ecde34a9b3
,635cfe9fdb
]:- @pankod/refine-core@3.35.0
3.32.0
Minor Changes
-
- Created
<Breadcrumb>
component from<Breadcrumbs>
- Added
<Breadcrumb>
component toCRUD
components. (<List>
,<Create>
,<Edit>
,<Show>
) - Added breadcrumb props to all
CRUD
components. We can usebreadcrumbs
prop to add custom breadcrumbs.
- Created
Patch Changes
-
Fixed missing imports (
DefaultColorScheme
,ExtendedColorScheme
andThemeInput
) in@mui/material/styles
in@pankod/refine-mui
package. -
Updated dependencies []:
- @pankod/refine-core@3.34.2
3.31.0
Minor Changes
- #2027
fe2df4b788
Thanks @biskuvit! - - Created<Breadcrumb>
component from<Breadcrumbs>
- Added
<Breadcrumb>
component toCRUD
components. (<List>
,<Create>
,<Edit>
,<Show>
) - Added breadcrumb props to all
CRUD
components. We can usebreadcrumbs
prop to add custom breadcrumbs.
- Added
Patch Changes
-
#2063
2067ac6bcb
Thanks @aliemir! - Fixed missing imports (DefaultColorScheme
,ExtendedColorScheme
andThemeInput
) in@mui/material/styles
in@pankod/refine-mui
package. -
Updated dependencies [
0338ce9d6b
]:- @pankod/refine-core@3.34.1
3.30.9
Patch Changes
- #2039
6c8e1c9be2
Thanks @ozkalai! - Added thedescription
property to the notifications
3.30.8
Patch Changes
- We have fixed texts with translations of default login pages in Material UI and Headless.
- Update default variant of
<DeleteButton>
totext
and replace overrides in the<Edit>
crud component.
-
dashboard icon changed from
<ListOutlined>
to<Dashboard>
in<Sider>
for Material UI package -
Updated dependencies []:
- @pankod/refine-core@3.34.0
3.30.7
Patch Changes
- #2029
b257d87fef
Thanks @ozkalai! - We have fixed texts with translations of default login pages in Material UI and Headless.
- #2033
14e14709ec
Thanks @ozkalai! - Update default variant of<DeleteButton>
totext
and replace overrides in the<Edit>
crud component.
-
#2022
01f8631953
Thanks @biskuvit! - dashboard icon changed from<ListOutlined>
to<Dashboard>
in<Sider>
for Material UI package -
Updated dependencies [
d96ba1e9c8
,b257d87fef
,12f08ae6a3
]:- @pankod/refine-core@3.33.0
3.30.6
Patch Changes
-
Add Dashboard item to default
<Sider/>
-
Updated dependencies []:
- @pankod/refine-core@3.32.0
3.30.5
Patch Changes
-
#2009
5b893a9bff
Thanks @aliemir! - Add Dashboard item to default<Sider/>
-
Updated dependencies [
498c425a0e
,498c425a0e
,498c425a0e
,5b893a9bff
]:- @pankod/refine-core@3.31.0
3.30.4
Patch Changes
- Deprecated
useMenu
from@pankod/refine-antd
and replaced with theuseMenu
from@pankod/refine-core
-
Remove unused
transition
property from@pankod/refine-mui
's<Layout/>
-
Updated dependencies []:
- @pankod/refine-core@3.30.0
3.30.4
Patch Changes
- Fix styling for buttons in loading state
-
Fix the spacing of header and footer actions in crud components and updated their snapshot tests.
-
Updated dependencies []:
- @pankod/refine-core@3.29.2
3.30.3
Patch Changes
- We've updated
secondary
color to#2A132E
-
Could not stop
e.preventDefault()
redirection in Next.js<Link>
component. So we added ine.stopPropagation()
for Ant Design Buttons and Material UI Buttons -
Updated dependencies []:
- @pankod/refine-react-hook-form@3.27.2
3.30.2
Patch Changes
- #1945
592a401924
Thanks @omeraplak! - Could not stope.preventDefault()
redirection in Next.js<Link>
component. So we added ine.stopPropagation()
for Ant Design Buttons and Material UI Buttons
3.30.1
Patch Changes
-
#1936
0695c6fa01
Thanks @omeraplak! - We've updatedsecondary
color to#2A132E
-
Updated dependencies [
4012d3c4ae
]:- @pankod/refine-react-hook-form@3.27.1
3.30.0
Minor Changes
-
Added default
sx
property for Material UI buttons.const { sx, ...restProps } = rest; <Button sx={{ minWidth: 0, ...sx }} {...restProps} />;
Patch Changes
- Fixed the
useDataGrid
filter bug that the selected filter was not displayed.
- Applied
refine
's base theme to@pankod/refine-mui
package with dark and light options.
-
Refactor default
<Sider>
component of@pankod/refine-mui
-
Updated dependencies []:
- @pankod/refine-react-hook-form@3.27.0
3.29.0
Minor Changes
- Added new provider.
<RefineSnackbarProvider/>
for notifications.
Patch Changes
- We are fixed the buttons' icon fontSize when hideText prop passed
- Renamed export
notificationProviderHandle
from@pankod/refine-mui
tonotificationProvider
for consistency across packages
- Fixed Material UI
ReadyPage
to be responsive for any screen
- Added missing exports from
notistack
package.
-
Added
svgButtonProps
property for Material UI buttons.<CreateButton svgButtonProps={{ size: "small" }} />
-
Fixed Material UI
<ErrorComponent />
to be responsive for any screen -
Updated dependencies []:
- @pankod/refine-core@3.29.0
3.28.0
Minor Changes
- Added new provider.
<RefineSnackbarProvider/>
for notifications.
Patch Changes
- We are fixed the buttons' icon fontSize when hideText prop passed
- Renamed export
notificationProviderHandle
from@pankod/refine-mui
tonotificationProvider
for consistency across packages
- Fixed Material UI
ReadyPage
to be responsive for any screen
- Added missing exports from
notistack
package.
-
Added
svgButtonProps
property for Material UI buttons.<CreateButton svgButtonProps={{ size: "small" }} />
-
Fixed Material UI
<ErrorComponent />
to be responsive for any screen -
Updated dependencies []:
- @pankod/refine-core@3.28.0
3.27.0
Minor Changes
- Added new provider.
<RefineSnackbarProvider/>
for notifications.
Patch Changes
- We are fixed the buttons' icon fontSize when hideText prop passed
- Renamed export
notificationProviderHandle
from@pankod/refine-mui
tonotificationProvider
for consistency across packages
- Fixed Material UI
ReadyPage
to be responsive for any screen
- Added missing exports from
notistack
package.
-
Added
svgButtonProps
property for Material UI buttons.<CreateButton svgButtonProps={{ size: "small" }} />
-
Fixed Material UI
<ErrorComponent />
to be responsive for any screen -
Updated dependencies []:
- @pankod/refine-core@3.27.0
3.26.0
Minor Changes
- #1911
6aa09d34b8
Thanks @biskuvit! - Added new provider.<RefineSnackbarProvider/>
for notifications.
3.25.2
Patch Changes
- #1909
0170b1306d
Thanks @aliemir! - Renamed exportnotificationProviderHandle
from@pankod/refine-mui
tonotificationProvider
for consistency across packages
-
#1896
2ba2a96fd2
Thanks @aliemir! - Added missing exports fromnotistack
package. -
Updated dependencies [
2ba2a96fd2
]:- @pankod/refine-core@3.26.0
3.25.1
Patch Changes
- #1898
906cf51eca
Thanks @ozkalai! - We are fixed the buttons' icon fontSize when hideText prop passed
- #1889
683fd6f932
Thanks @biskuvit! - Fixed Material UIReadyPage
to be responsive for any screen
-
#1878
07a2c48157
Thanks @omeraplak! - AddedsvgButtonProps
property for Material UI buttons.<CreateButton svgButtonProps={{ size: "small" }} />
- #1890
607de3446b
Thanks @biskuvit! - Fixed Material UI<ErrorComponent />
to be responsive for any screen
3.18.0-next.1
Minor Changes
- #1877
5bc54c25d6
Thanks @aliemir! - AdduseDataGrid
hook documentation.
Patch Changes
- #1878
07a2c48157
Thanks @omeraplak! - Passed svgButtonProps to mui buttons
3.17.1-next.0
Patch Changes
- #1755
a81836bc36
Thanks @salihozdemir! - NotistackSnackbarProvider
which is used as a notification provider (from@pankod/refine-mui
) has been made compatible with the theme in the example of the fine food.
- #1755
a81836bc36
Thanks @salihozdemir! - Notistack toast mobile view fixed
3.17.0-next.0
Minor Changes
- #1867
da2e12314d
Thanks @ozkalai! - Notistack toast mobile view fixed
Patch Changes
- #1850
40b3faca10
Thanks @ozkalai! - NotistackSnackbarProvider
which is used as a notification provider (from@pankod/refine-mui
) has been made compatible with the theme in the example of the fine food.