OpenPanel/packages/mui/CHANGELOG.md
Stefan Pejcic 8595a9f4e5 back
2024-05-08 19:58:53 +02:00

127 KiB

@refinedev/mui

5.14.2

Patch Changes

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: added hideForm props for LoginPage and RegisterPage for AuthPage 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

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 and isAnyOf operators.

    fix: isNull and isNotNull doesn't trigger request.

    When filter has a value "", it's ignored and doesn't trigger request. Previously isNull and isNotNull operators weren't handled correctly and had value "" by default. With this change, these operators has true value, so they won't be ignored.

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 and isAnyOf operators.

    fix: isNull and isNotNull doesn't trigger request.

    When filter has a value "", it's ignored and doesn't trigger request. Previously isNull and isNotNull operators weren't handled correctly and had value "" by default. With this change, these operators has true value, so they won't be ignored.

5.13.15

Patch Changes

  • #5026 a605e4cd318 Thanks @alicanerdurmaz! - feat: deprecated <ThemedLayout /> and <Layout /> components removed from swizzle. From now on, users can swizzle <ThemedLayoutV2 /> component instead.

    feat: swizzled <ThemedLayoutV2 /> component destination changed to src/components/layout/ from src/components/themedLayout.

  • #4974 a7b32dbf137 Thanks @IkumaTadokoro! - fix: add missing DataGrid operator conversion cases

    MUI 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 cases

    MUI 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 from swizzle. From now on, users can swizzle <ThemedLayoutV2 /> component instead.

    feat: swizzled <ThemedLayoutV2 /> component destination changed to src/components/layout/ from src/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

5.13.9

Patch Changes

5.13.8

Patch Changes

  • #4951 04837c62077 Thanks @aliemir! - - Update build configuration for esbuild 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 for esbuild 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

5.13.5

Patch Changes

5.13.4

Patch Changes

5.13.3

Patch Changes

5.13.2

Patch Changes

5.13.1

Patch Changes

5.13.0

Minor Changes

  • #4775 3052fb22449 Thanks @alicanerdurmaz! - fixed: <RefreshButton /> does not refresh content #4618. From now, <RefreshButton /> uses useInvalidate hook to refresh data instead of useOne.

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 /> uses useInvalidate hook to refresh data instead of useOne.

Patch Changes

  • Updated dependencies [3052fb22449]:
    • @refinedev/ui-types@1.21.0

5.11.2

Patch Changes

5.11.1

Patch Changes

5.11.0

Minor Changes

  • #4741 026ccf34356 Thanks @aliemir! - Added sideEffects: false to package.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! - Added sideEffects: false to package.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 for Edit. useForm, useDrawerForm, useModalForm, useStepsForm hooks now accept autoSave object. enabled is a boolean value and debounce is a number value in milliseconds. debounce is optional and default value is 1000.

    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 when autoSaveProps is given to the Edit 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 for Edit. useForm, useDrawerForm, useModalForm, useStepsForm hooks now accept autoSave object. enabled is a boolean value and debounce is a number value in milliseconds. debounce is optional and default value is 1000.

    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 when autoSaveProps is given to the Edit 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 navigation

    Visiting active sider items triggers page reloads due to them being links. We can now provide activeItemDisabled prop to disable such reloads.

Patch Changes

5.6.0

Minor Changes

  • #4502 c7872ca621f Thanks @Mr0nline! - feat: ability to tweak active sider items navigation

    Visiting active sider items triggers page reloads due to them being links. We can now provide activeItemDisabled prop to disable such reloads.

Patch Changes

5.5.0

Minor Changes

Patch Changes

  • #4557 781050e56a4 Thanks @yildirayunlu! - fix: Button text color on RefineThemes

  • #4527 ceadcd29fc9 Thanks @salihozdemir! - fix: prioritization of forgotten identifier

    If identifier is provided, it will be used instead of name.

    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 multiple resource usage with the same name. Now the translate keys are generated using identifier if it's present.

  • Updated dependencies [9a895ea39dc, ceadcd29fc9]:

    • @refinedev/react-hook-form@4.4.2

5.4.0

Minor Changes

Patch Changes

  • #4557 781050e56a4 Thanks @yildirayunlu! - fix: Button text color on RefineThemes

  • #4527 ceadcd29fc9 Thanks @salihozdemir! - fix: prioritization of forgotten identifier

    If identifier is provided, it will be used instead of name.

    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 multiple resource usage with the same name. Now the translate keys are generated using identifier 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 global accessControlProvider configuration.

    fix: Delete button's text wasn't rendered as reason field of accessControlProvider.

    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 be Access Denied! instead of default Delete.

    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 global accessControlProvider configuration.

    fix: Delete button's text wasn't rendered as reason field of accessControlProvider.

    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 be Access Denied! instead of default Delete.

    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 from v5 to v6. 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 returns page, pageSize, onPageChange and onPageSizeChange. According to the changes in the DataGrid API, useDataGrid now returns paginationModel and onPaginationModelChange props which are used to control the pagination state of the DataGrid and contains the previous logic of page, pageSize, onPageChange and onPageSizeChange.

    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! - Added overflow: auto and overflow: clip (if supported) properties to the content container of the ThemedLayoutV2 to make sure the DataGrid 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 from v5 to v6. 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 returns page, pageSize, onPageChange and onPageSizeChange. According to the changes in the DataGrid API, useDataGrid now returns paginationModel and onPaginationModelChange props which are used to control the pagination state of the DataGrid and contains the previous logic of page, pageSize, onPageChange and onPageSizeChange.

    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! - Added overflow: auto and overflow: clip (if supported) properties to the content container of the ThemedLayoutV2 to make sure the DataGrid component doesn't break the layout.

4.18.2

Patch Changes

4.18.1

Patch Changes

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 hook useThemedLayoutContext for it. useThemedLayoutContext similar to useSiderVisible but it returns more meaningful state names. However, useSiderVisible is still available for backward compatibility.

    Updated Sider and HamburgerMenu components using useThemedLayoutContext.

    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 hook useThemedLayoutContext for it. useThemedLayoutContext similar to useSiderVisible but it returns more meaningful state names. However, useSiderVisible is still available for backward compatibility.

    Updated Sider and HamburgerMenu components using useThemedLayoutContext.

    import { useThemedLayoutContext } from "@refinedev/mui";
    
    const {
        siderCollapsed,
        setSiderCollapsed,
        mobileSiderOpen,
        setMobileSiderOpen,
    } = useThemedLayoutContext();
    

4.16.4

Patch Changes

4.16.3

Patch Changes

4.16.2

Patch Changes

4.16.1

Patch Changes

4.16.0

Minor Changes

  • #4303 0c569f42b4e Thanks @alicanerdurmaz! - feat: added default button props into the renderer functions headerButtons and footerButtons 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

4.15.0

Minor Changes

  • #4303 0c569f42b4e Thanks @alicanerdurmaz! - feat: added default button props into the renderer functions headerButtons and footerButtons 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

4.14.7

Patch Changes

4.14.6

Patch Changes

4.14.5

Patch Changes

  • #4277 7172c1b42d2 Thanks @salihozdemir! - fix: renamed the <ThemedHeaderV2/> prop isSticky to sticky

    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/> prop isSticky to sticky

    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/> prop isSticky to sticky

    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

4.14.1

Patch Changes

4.14.0

Minor Changes

  • #4232 c99bc0ad7f7 Thanks @alicanerdurmaz! - feat: initialSiderCollapsed added to RefineThemedLayoutV2Props to control initial state of <ThemedSiderV2>. From now on, you can control the initial collapsed state of <ThemedSiderV2> by passing the initialSiderCollapsed prop to <ThemedLayoutV2>.

    <ThemedLayoutV2
        initialSiderCollapsed={true} // This will make the sider collapsed by default
    >
        {/* .. */}
    </ThemedLayoutV2>
    
  • #4209 3f4b5fef76f Thanks @yildirayunlu! - feat: add isSticky prop to ThemedHeaderV2 component. Default is true.

    import { ThemedHeaderV2, ThemedLayoutV2 } from "@refinedev/mui";
    
    const CustomHeader = () => <ThemedHeaderV2 isSticky={false} />;
    
    const App = () => (
        <Refine>
            // ...
            <ThemedLayoutV2 Header={CustomHeader}>
                <Outlet />
            </ThemedLayoutV2>
            // ...
        </Refine>
    );
    

Patch Changes

4.13.0

Minor Changes

  • #4232 c99bc0ad7f7 Thanks @alicanerdurmaz! - feat: initialSiderCollapsed added to RefineThemedLayoutV2Props to control initial state of <ThemedSiderV2>. From now on, you can control the initial collapsed state of <ThemedSiderV2> by passing the initialSiderCollapsed prop to <ThemedLayoutV2>.

    <ThemedLayoutV2
        initialSiderCollapsed={true} // This will make the sider collapsed by default
    >
        {/* .. */}
    </ThemedLayoutV2>
    
  • #4209 3f4b5fef76f Thanks @yildirayunlu! - feat: add isSticky prop to ThemedHeaderV2 component. Default is true.

    import { ThemedHeaderV2, ThemedLayoutV2 } from "@refinedev/mui";
    
    const CustomHeader = () => <ThemedHeaderV2 isSticky={false} />;
    
    const App = () => (
        <Refine>
            // ...
            <ThemedLayoutV2 Header={CustomHeader}>
                <Outlet />
            </ThemedLayoutV2>
            // ...
        </Refine>
    );
    

Patch Changes

4.12.0

Minor Changes

  • #4194 8df15fe0e4e Thanks @alicanerdurmaz! - feat: sorters.mode prop added to useTable and useDataGrid hooks. This prop handles the sorting mode of the table. It can be either server or off.

    • "off": sorters are not sent to the server. You can use the sorters 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 to useTable and useDataGrid hooks. This prop handles the filtering mode of the table. It can be either server or off.

    • "off": filters are not sent to the server. You can use the filters 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.

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 to useTable and useDataGrid hooks. This prop handles the sorting mode of the table. It can be either server or off.

    • "off": sorters are not sent to the server. You can use the sorters 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 to useTable and useDataGrid hooks. This prop handles the filtering mode of the table. It can be either server or off.

    • "off": filters are not sent to the server. You can use the filters 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.

Patch Changes

  • Updated dependencies [b992e11e338]:
    • @refinedev/react-hook-form@4.2.1

4.10.3

Patch Changes

4.10.2

Patch Changes

4.10.1

Patch Changes

4.10.0

Minor Changes

  • #4153 8d9c408d089 Thanks @yildirayunlu! - feat: add ThemedLayoutV2 and HamburgerMenu component

    ThemeLayout is deprecated. Added ThemedLayoutV2 instead. This update fixed some UI problems in the layout. Also, with the new <HamburgerMenu /> component, it's easier to collapse/uncollapse the Sider.

    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: add ThemedLayoutV2 and HamburgerMenu component

    ThemeLayout is deprecated. Added ThemedLayoutV2 instead. This update fixed some UI problems in the layout. Also, with the new <HamburgerMenu /> component, it's easier to collapse/uncollapse the Sider.

    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 using useQuery 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 use useQuery to synchronize generic type names with tanstack-query.

  • Updated dependencies [1c13602e308]:

    • @refinedev/react-hook-form@4.2.0

4.7.2

Patch Changes

4.7.1

Patch Changes

4.7.0

Minor Changes

Patch Changes

  • Updated dependencies [afdaed3dd83]:
    • @refinedev/react-hook-form@4.1.4

4.6.0

Minor Changes

Patch Changes

  • Updated dependencies [afdaed3dd83]:
    • @refinedev/react-hook-form@4.1.3

4.5.10

Patch Changes

4.5.9

Patch Changes

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

4.5.5

Patch Changes

4.5.4

Patch Changes

4.5.3

Patch Changes

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 setting title prop to false.
    import { AuthPage } from "@refinedev/mui";
    
    const MyAuthPage = () => {
        return <AuthPage title={false} />;
    };
    
    • title prop added to AuthPage's renderContent 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 to AuthPage

Patch Changes

  • #3956 c54714ed9ab Thanks @salihozdemir! - Fixed an issue where the <NumberField /> component would throw an error if the value prop was set to undefined.

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 setting title prop to false.
    import { AuthPage } from "@refinedev/mui";
    
    const MyAuthPage = () => {
        return <AuthPage title={false} />;
    };
    
    • title prop added to AuthPage's renderContent 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 to AuthPage

Patch Changes

  • #3956 c54714ed9ab Thanks @salihozdemir! - Fixed an issue where the <NumberField /> component would throw an error if the value prop was set to undefined.

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>'s onClick handler was changed to use the window.confirm API to manage the confirmation dialog.

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>'s onClick handler was changed to use the window.confirm API to manage the confirmation dialog.

4.3.0

Minor Changes

  • #3912 0ffe70308b2 Thanks @alicanerdurmaz! - - title prop added to AuthPage's renderContent prop to use in the custom content.
    • title prop added to AuthPage 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 to AuthPage's renderContent prop to use in the custom content.
    • title prop added to AuthPage 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 from 3.x.x to 4.x.x.

    Just cd into root folder of your project (where package.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. Use useMenu 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 if meta 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 components

    This includes meta props in buttons and Sider 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 the ShowButton 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 and actionButtons 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. Use sorters 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 and initialPageSize props are now deprecated. Use pagination prop instead.

    • To ensure backward compatibility, initialCurrent and initialPageSize props will work as before.

      useDataGrid({
      -    initialCurrent,
      -    initialPageSize,
      +    pagination: {
      +        current,
      +        pageSize,
      +    },
      })
      
    • hasPagination prop is now deprecated. Use pagination.mode instead.

    • To ensure backward compatibility, hasPagination prop will work as before.

      useDataGrid({
      -    hasPagination,
      +    pagination: {
      +        mode: "off" | "server" | "client",
      +    },
      })
      
    • initialSorter and permanentSorter props are now deprecated. Use sorters.initial and sorters.permanent instead.

    • To ensure backward compatibility, initialSorter and permanentSorter props will work as before.

      useDataGrid({
      -    initialSorter,
      -    permanentSorter,
      +    sorters: {
      +        initial,
      +        permanent,
      +    },
      })
      
    • initialFilter, permanentFilter, and defaultSetFilterBehavior props are now deprecated. Use filters.initial, filters.permanent, and filters.defaultBehavior instead.

    • To ensure backward compatibility, initialFilter, permanentFilter, and defaultSetFilterBehavior props will work as before.

      useDataGrid({
      -    initialFilter,
      -    permanentFilter,
      -    defaultSetFilterBehavior,
      +    filters: {
      +        initial,
      +        permanent,
      +        defaultBehavior,
      +    },
      })
      
    • sorter and setSorter return values are now deprecated. Use sorters and setSorters instead.

    • To ensure backward compatibility, sorter and setSorter 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

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

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

3.61.4

Patch Changes

3.61.3

Patch Changes

3.61.2

Patch Changes

3.61.1

Patch Changes

3.61.0

Minor Changes

  • #3159 af2eefb32a4 Thanks @aliemir! - Updated LoginPage and ReadyPage to use refine logos from CDN rather than bundled svg files.

3.60.0

Minor Changes

  • #3159 af2eefb32a4 Thanks @aliemir! - Updated LoginPage and ReadyPage to use refine logos from CDN rather than bundled svg files.

3.59.4

Patch Changes

3.59.3

Patch Changes

3.59.2

Patch Changes

  • #3109 16549ed3012 Thanks @aliemir! - Updated swizzle items and their messages to include extra information and usage examples.

3.59.1

Patch Changes

  • #3109 16549ed3012 Thanks @aliemir! - Updated swizzle 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 with swizzle feature.
    • Added refine.config.js to configure the swizzle feature.

3.58.0

Minor Changes

  • #3062 6c2ed708a9a Thanks @aliemir! - - Updated components and their type imports to make them compatible with swizzle feature.
    • Added refine.config.js to configure the swizzle feature.

3.57.0

Minor Changes

3.56.0

Minor Changes

3.55.2

Patch Changes

3.55.1

Patch Changes

3.55.0

Minor Changes

  • #2872 da3fc4a702 Thanks @TDP17! - Feat: Added ability to manage breadcrumb component globally via options

    The 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 options

    The option set in individual CRUD components takes priority over the global option

3.53.0

Minor Changes

  • #2839 5388a338ab Thanks @aliemir! - Deprecation

    ignoreAccessControlProvider prop on buttons is deprecated. Use accessContro.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

Patch Changes

  • Updated dependencies [e43e9a17ae]:
    • @pankod/refine-ui-types@0.13.0

3.51.0

Minor Changes

  • #2839 5388a338ab Thanks @aliemir! - Deprecation

    ignoreAccessControlProvider prop on buttons is deprecated. Use accessContro.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

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

3.50.2

Patch Changes

  • Add AuthProps type export

3.50.1

Patch Changes

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

3.48.2

Patch Changes

  • fix(material-ui): fix missing <Header /> component export

3.48.1

Patch Changes

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}
      ...
    />
    

3.45.9

Patch Changes

  • ReadyPage examples link fixed.

3.45.8

Patch Changes

3.45.7

Patch Changes

  • Updated disabled attribute of buttons in CRUD components according to isLoading prop.

  • Removed redundant type inheritance

  • Updated dependencies []:

    • @pankod/refine-ui-types@0.11.2

3.45.6

Patch Changes

3.45.5

Patch Changes

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 to Sider component. You can get dashboard, logout and items from render props to customize the Sider component.

Patch Changes

  • Fixed version of react-router to 6.3.0

  • Passed collapsed prop to render method in Sider 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

3.44.1

Patch Changes

  • #2492 7d5bf3023d Thanks @ozkalai! - Passed collapsed prop to render method in Sider component of @pankod/refine-mui.

  • Updated dependencies [7d5bf3023d]:

    • @pankod/refine-ui-types@0.6.1

3.44.0

Minor Changes

  • #2454 72487a4126 Thanks @ozkalai! - Added render prop to Sider component. You can get dashboard, logout and items from render props to customize the Sider 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 of tsup 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 with tsc instead of tsup for better navigation throughout projects source code.

Patch Changes

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

3.41.10

Patch Changes

  • lodash moved to dependencies.

3.41.9

Patch Changes

3.41.8

Patch Changes

  • Added React 17 support to peerDependencies.

3.41.7

Patch Changes

3.41.6

Patch Changes

  • Fixed StackProps and StackTypeMap type exports

3.41.5

Patch Changes

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

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 common fields types.

    Updated @pankod/refine-antd and @pankod/refine-mui fields tests by using @pankod/refine-ui-tests common fields 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! - Remove data-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 common fields types.

    Updated @pankod/refine-antd and @pankod/refine-mui fields tests by using @pankod/refine-ui-tests common fields 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

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

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 with peerDependencies + 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 with peerDependencies + 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! - Add dataProviderName 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 the columns property. Therefore, the queryResult could not be used in the columns. Now, we can define the columns property wherever we want since the useDataGrid hook does not take the column 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! - The useDataGrid hook required the columns property. Therefore, the queryResult could not be used in the columns. Now, we can define the columns property wherever we want since the useDataGrid hook does not take the column 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 with hasPagination to enable/disable pagination.

    Implementation

    Updated the useDataGrid accordingly to the changes in the useTable of @pankod/refine-core. hasPagination property is being send directly to the useTable 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 to false.

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 and to for Next.js and React applications, now we just need to pass to. refine router providers handle for us.

  • Updated dependencies []:

    • @pankod/refine-core@3.36.0

3.33.0

Minor Changes

  • #2050 635cfe9fdb Thanks @ozkalai! - Updated useDataGrid hook with hasPagination to enable/disable pagination.

    Implementation

    Updated the useDataGrid accordingly to the changes in the useTable of @pankod/refine-core. hasPagination property is being send directly to the useTable 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 to false.

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 and to for Next.js and React applications, now we just need to pass to. 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 to CRUD components. (<List>, <Create>, <Edit>, <Show>)
    • Added breadcrumb props to all CRUD components. We can use breadcrumbs prop to add custom breadcrumbs.

Patch Changes

  • Fixed missing imports (DefaultColorScheme, ExtendedColorScheme and ThemeInput) 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 to CRUD components. (<List>, <Create>, <Edit>, <Show>)
    • Added breadcrumb props to all CRUD components. We can use breadcrumbs prop to add custom breadcrumbs.

Patch Changes

  • #2063 2067ac6bcb Thanks @aliemir! - Fixed missing imports (DefaultColorScheme, ExtendedColorScheme and ThemeInput) in @mui/material/styles in @pankod/refine-mui package.

  • Updated dependencies [0338ce9d6b]:

    • @pankod/refine-core@3.34.1

3.30.9

Patch Changes

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> to text 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> to text and replace overrides in the <Edit> crud component.

3.30.6

Patch Changes

  • Add Dashboard item to default <Sider/>

  • Updated dependencies []:

    • @pankod/refine-core@3.32.0

3.30.5

Patch Changes

3.30.4

Patch Changes

  • Deprecated useMenu from @pankod/refine-antd and replaced with the useMenu 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 in e.stopPropagation() for Ant Design Buttons and Material UI Buttons

  • Updated dependencies []:

    • @pankod/refine-react-hook-form@3.27.2

3.30.2

Patch Changes

3.30.1

Patch Changes

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 to notificationProvider 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 to notificationProvider 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 to notificationProvider 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

3.25.2

Patch Changes

  • #1909 0170b1306d Thanks @aliemir! - Renamed export notificationProviderHandle from @pankod/refine-mui to notificationProvider for consistency across packages

3.25.1

Patch Changes

  • #1878 07a2c48157 Thanks @omeraplak! - Added svgButtonProps property for Material UI buttons.

    <CreateButton svgButtonProps={{ size: "small" }} />
    

3.18.0-next.1

Minor Changes

Patch Changes

3.17.1-next.0

Patch Changes

  • #1755 a81836bc36 Thanks @salihozdemir! - Notistack SnackbarProvider 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.

3.17.0-next.0

Minor Changes

Patch Changes

  • #1850 40b3faca10 Thanks @ozkalai! - Notistack SnackbarProvider 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.