Skip to content

Latest commit

 

History

History
2187 lines (1394 loc) · 109 KB

CHANGELOG.md

File metadata and controls

2187 lines (1394 loc) · 109 KB

@refinedev/mantine

2.32.2

Patch Changes

  • #6021 55cd0662b1e3ff8f8410eba812e80130afe75d14 Thanks @JayBhensdadia! - fix: ensure Sider component handles various resource name formats correctly

    Updated 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 reserved key prop with translationKey in components

    <AutoSaveIndicator /> components from UI libraries have been using a <Message /> component internally that uses a key prop. Since key is a reserved prop in React, it was causing a warning in the console. This change replaces the key prop with translationKey to avoid the warning.

    Resolves #6067

2.32.0

Minor Changes

  • 6bd14228760d3e1e205ea9248e427f9afa2ec046 Thanks @BatuhanW! - feat: use global values by default for app title and app icon

    Now <Refine /> component accepts options.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 use options.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

2.31.0

Minor Changes

  • #5945 903ea231538b00ce02ddc9394c72848ec1e90772 Thanks @aliemir! - feat: use global values by default for app title and app icon

    Now <Refine /> component accepts options.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 use options.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

2.30.2

Patch Changes

  • #5928 db9756e7908 Thanks @aliemir! - fix: type errors on typescript <5

    Due 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/ui-types@1.22.7

2.30.1

Patch Changes

2.30.0

Minor Changes

  • #5761 399911617b2 Thanks @aliemir! - Migrated from outdated @tabler/icons@1 to @tabler/icons-react@3 to make sure we're using the latest available version of the library without requiring users to pin to a deprecated version.

    If your project doesn't include @tabler/icons you won't be affected by this change. If you're using @tabler/icons@1 in your project, you may need to update your dependency to latest version of @tabler/icons-react to avoid conflicting dependencies. Practically, this should not introduce any breaking changes to your project and all the icons in @tabler/icons@1 should also be available in the latest version of @tabler/icons-react.

Patch Changes

  • #5737 4e8188a6652 Thanks @aliemir! - chore: updated content of README.md to include installation, usage and scaffolding instructions.

  • #5765 0c197d82393 Thanks @aliemir! - fix: @tabler/icons-react imports in CJS builds

    imports from @tabler/icons-react end up requiring the ESM build in CJS environments, to prevent this we've added added an esbuild plugin to replace the imports with the correct path for CJS bundles.

  • #5765 0c197d82393 Thanks @aliemir! - refactor: package bundles and package.json configuration for exports

    Previously, 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 include exports fields in their configuration to make sure the correct bundle is picked up by the bundlers and compilers.

  • #5765 0c197d82393 Thanks @aliemir! - fix: dayjs imports in ESM bundles

    dayjs 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 the lodash-es imports for ESM builds to access the exports properly.

  • #5714 38f129f40ee Thanks @aliemir! - Due to the bug fix made in the @refinedev/core, onFinishAutoSave's returned promise can now reject and should be handled accordingly. Updated useForm's auto save handler to catch the rejection without breaking the application.

    Additionally due to the same changes, onFinish should also be handled accordingly. Updated useForm's saveButtonProps.onClick to catch the rejection without breaking the application.

  • #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 components

    Eslint plugin to remove test ids from components was broken and might miss some test ids to be included in the 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 via swizzle option or create their own buttons withouth having to duplicate the logic.

  • #5755 404b2ef5e1b Thanks @BatuhanW! - fix: incorrect type imports

  • Updated dependencies [0c197d82393, 56ed144a0f5]:

    • @refinedev/ui-types@1.22.5

2.29.5

Patch Changes

2.29.4

Patch Changes

2.29.3

Patch Changes

2.29.2

Patch Changes

2.29.1

Patch Changes

2.29.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

2.28.21

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.

2.28.20

Patch Changes

  • #5199 2b8d658a17a Thanks @aliemir! - Updated the return type of the useSelect hook to only include properties that actually being returned from the hook. Previously, the return type included all properties of the Select component, which was not correct.

  • #5199 2b8d658a17a Thanks @aliemir! - Now useSelect hook accepts 4th generic type TOption which allows you to change the type of options. By default TOption will be equal to BaseOption type which is { label: any; value: any; }. If you want to change the type of options, you can do it like this:

    In PR #5160 the type convertion of the options are tried to be resolved by string conversion. This is not correct due to the fact that the value property of the option can be of any type. This was breaking the connection between the forms and the select inputs.

    This change is reverted in the @refinedev/core, now changed the types and the logic to reflect the correct values of options with the ability to change it via 4th generic type TOption of useSelect hook.

    Mantine's <Select /> component only allows values to be string. In a case of a value not being string, you'll be able to manipulate the options via mapping the options before using them.

    Here's how to get the proper types for the options and fix the value type issue:

    import { Select } from "@mantine/core";
    import { HttpError } from "@refinedev/core";
    import { useSelect } from "@refinedev/mantine";
    
    type IPost = {
      id: number;
      title: string;
      description: string;
    };
    
    type IOption = { value: IPost["id"]; label: IPost["title"] };
    
    const MyComponent = () => {
      const { selectProps } = useSelect<IPost, HttpError, IPost, IOption>({
        resource: "posts",
      });
    
      // This will result in `selectProps.data` to be of type `IOption[]`.
      // <Select /> will not accept `value` as `number` so you'll have to map the options.
    
      return (
        <Select
          {...selectProps}
          data={selectProps.data.map((option) => ({
            ...option,
            value: option.value.toString(),
          }))}
        />
      );
    };
  • #5201 760cfbaaa2a Thanks @aliemir! - Updated initial value setting logic in useForm to handle nested objects properly.

2.28.19

Patch Changes

  • #5199 2b8d658a17a Thanks @aliemir! - Updated the return type of the useSelect hook to only include properties that actually being returned from the hook. Previously, the return type included all properties of the Select component, which was not correct.

  • #5199 2b8d658a17a Thanks @aliemir! - Now useSelect hook accepts 4th generic type TOption which allows you to change the type of options. By default TOption will be equal to BaseOption type which is { label: any; value: any; }. If you want to change the type of options, you can do it like this:

    In PR #5160 the type convertion of the options are tried to be resolved by string conversion. This is not correct due to the fact that the value property of the option can be of any type. This was breaking the connection between the forms and the select inputs.

    This change is reverted in the @refinedev/core, now changed the types and the logic to reflect the correct values of options with the ability to change it via 4th generic type TOption of useSelect hook.

    Mantine's <Select /> component only allows values to be string. In a case of a value not being string, you'll be able to manipulate the options via mapping the options before using them.

    Here's how to get the proper types for the options and fix the value type issue:

    import { Select } from "@mantine/core";
    import { HttpError } from "@refinedev/core";
    import { useSelect } from "@refinedev/mantine";
    
    type IPost = {
      id: number;
      title: string;
      description: string;
    };
    
    type IOption = { value: IPost["id"]; label: IPost["title"] };
    
    const MyComponent = () => {
      const { selectProps } = useSelect<IPost, HttpError, IPost, IOption>({
        resource: "posts",
      });
    
      // This will result in `selectProps.data` to be of type `IOption[]`.
      // <Select /> will not accept `value` as `number` so you'll have to map the options.
    
      return (
        <Select
          {...selectProps}
          data={selectProps.data.map((option) => ({
            ...option,
            value: option.value.toString(),
          }))}
        />
      );
    };
  • #5201 760cfbaaa2a Thanks @aliemir! - Updated initial value setting logic in useForm to handle nested objects properly.

2.28.18

Patch Changes

2.28.17

Patch Changes

2.28.16

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.

2.28.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.

2.28.14

Patch Changes

  • #5022 80513a4e42f Thanks @BatuhanW! - chore: update README.md

    • fix grammar errors.
    • make all README.md files consistent.
    • add code example code snippets.

2.28.13

Patch Changes

  • #5022 80513a4e42f Thanks @BatuhanW! - chore: update README.md

    • fix grammar errors.
    • make all README.md files consistent.
    • add code example code snippets.

2.28.12

Patch Changes

  • #4975 ff66a862e46 Thanks @aliemir! - Updated dependency of @tabler/icons to v1.119.0 to fix the issue of using misconfigured versions. (Fixes #4921)

2.28.11

Patch Changes

  • #4975 ff66a862e46 Thanks @aliemir! - Updated dependency of @tabler/icons to v1.119.0 to fix the issue of using misconfigured versions. (Fixes #4921)

2.28.10

Patch Changes

2.28.9

Patch Changes

2.28.8

Patch Changes

2.28.7

Patch Changes

2.28.6

Patch Changes

2.28.5

Patch Changes

2.28.4

Patch Changes

2.28.3

Patch Changes

2.28.2

Patch Changes

  • #4788 38680378c7a Thanks @salihozdemir! - fix: fix incorrect usage of collapse icon in <HeaderV2 />

    fix: render user avatar and name in <HeaderV2 /> based on user data from authProvider.

2.28.1

Patch Changes

  • #4788 38680378c7a Thanks @salihozdemir! - fix: fix incorrect usage of collapse icon in <HeaderV2 />

    fix: render user avatar and name in <HeaderV2 /> based on user data from authProvider.

2.28.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

2.27.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

2.26.0

Minor Changes

  • #4741 026ccf34356 Thanks @aliemir! - Added sideEffects: false to package.json to help bundlers tree-shake unused code.

2.25.0

Minor Changes

  • #4741 026ccf34356 Thanks @aliemir! - Added sideEffects: false to package.json to help bundlers tree-shake unused code.

2.24.0

Minor Changes

  • #4652 96af6d25b7a Thanks @alicanerdurmaz! - feat: when the dataProvider returns rejected promise with errors field, useForm will automatically update the error state with the rejected errors field.

    Refer to the server-side form validation documentation for more information. →

  • #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/mantine";
    const { autoSaveProps } = useForm({
        refineCoreProps: {
            autoSave: {
                enabled: true,
                debounce: 2000, // not required, default is 1000
            },
        }
    });
    
    return (
        <div>
            <AutoSaveIndicator {...autoSaveProps}>
        </div>
    );
    

Patch Changes

  • Updated dependencies [f8891ead2bd]:
    • @refinedev/ui-types@1.20.0

2.23.0

Minor Changes

  • #4652 96af6d25b7a Thanks @alicanerdurmaz! - feat: when the dataProvider returns rejected promise with errors field, useForm will automatically update the error state with the rejected errors field.

    Refer to the server-side form validation documentation for more information. →

  • #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/mantine";
    const { autoSaveProps } = useForm({
        refineCoreProps: {
            autoSave: {
                enabled: true,
                debounce: 2000, // not required, default is 1000
            },
        }
    });
    
    return (
        <div>
            <AutoSaveIndicator {...autoSaveProps}>
        </div>
    );
    

Patch Changes

  • Updated dependencies [f8891ead2bd]:
    • @refinedev/ui-types@1.19.0

2.22.2

Patch Changes

  • #4629 58cc48b7b8f Thanks @alicanerdurmaz! - fixed: description prop does not show up in Mantine notification. With this fix, you can now use description prop to show a description in the notification.

    import { useNotification } from "@refinedev/core";
    
    const { open } = useNotification();
    
    open?.({
      description: "This is a description",
      message: "This is a message",
      type: "progress",
    });

2.22.1

Patch Changes

  • #4629 58cc48b7b8f Thanks @alicanerdurmaz! - fixed: description prop does not show up in Mantine notification. With this fix, you can now use description prop to show a description in the notification.

    import { useNotification } from "@refinedev/core";
    
    const { open } = useNotification();
    
    open?.({
      description: "This is a description",
      message: "This is a message",
      type: "progress",
    });

2.22.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

  • Updated dependencies [c7872ca621f]:
    • @refinedev/ui-types@1.18.0

2.21.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

  • Updated dependencies [c7872ca621f]:
    • @refinedev/ui-types@1.17.0

2.20.0

Minor Changes

Patch Changes

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

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

    import { DeleteButton } from "@refinedev/mantine";
    
    <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.

2.19.0

Minor Changes

Patch Changes

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

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

    import { DeleteButton } from "@refinedev/mantine";
    
    <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.

2.18.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.

2.17.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.

2.16.2

Patch Changes

2.16.1

Patch Changes

2.16.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/mantine";
    
    const {
      siderCollapsed,
      setSiderCollapsed,
      mobileSiderOpen,
      setMobileSiderOpen,
    } = useThemedLayoutContext();

2.15.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/mantine";
    
    const {
      siderCollapsed,
      setSiderCollapsed,
      mobileSiderOpen,
      setMobileSiderOpen,
    } = useThemedLayoutContext();

2.14.4

Patch Changes

2.14.3

Patch Changes

2.14.2

Patch Changes

2.14.1

Patch Changes

2.14.0

Minor Changes

  • #4306 e6eb4dea627 Thanks @yildirayunlu! - feat: syncWithLocation.syncId default to true for useModalForm.

  • #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/mantine";
    
    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

2.13.0

Minor Changes

  • #4306 e6eb4dea627 Thanks @yildirayunlu! - feat: syncWithLocation.syncId default to true for useModalForm.

  • #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/mantine";
    
    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

2.12.9

Patch Changes

2.12.8

Patch Changes

2.12.7

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>
        );
    };

2.12.6

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>
        );
    };

2.12.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>
        );
    };

2.12.4

Patch Changes

2.12.3

Patch Changes

2.12.2

Patch Changes

  • #4241 fbe109b5a8b Thanks @salihozdemir! - Added new generic types to the useForm hooks. Now you can pass the query types and the mutation types to the hook.

2.12.1

Patch Changes

  • #4241 fbe109b5a8b Thanks @salihozdemir! - Added new generic types to the useForm hooks. Now you can pass the query types and the mutation types to the hook.

2.12.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

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

Patch Changes

2.11.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

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

Patch Changes

2.10.0

Minor Changes

  • #4176 13448252cd7 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.

2.9.0

Minor Changes

  • #4176 13448252cd7 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.

2.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
  • #4131 0e7ee8876df Thanks @alicanerdurmaz! - - Fixed: <ThemedSider> logout icon alignment. <LogoutButton> icon changed to <IconPower> from IconLogout.

Patch Changes

  • #4113 1c13602e308 Thanks @salihozdemir! - Updated the generic type name of hooks that use useQuery to synchronize generic type names with tanstack-query.

2.7.4

Patch Changes

2.7.3

Patch Changes

2.7.2

Patch Changes

2.7.1

Patch Changes

2.7.0

Minor Changes

Patch Changes

  • #4114 afdaed3dd83 Thanks @aliemir! - Updated useModalForm hook's modal.show method to check if there's an id present or provided. If there is, it will continue to show the modal. If not, the modal will not show. (Resolves #4062)

2.6.0

Minor Changes

Patch Changes

  • #4114 afdaed3dd83 Thanks @aliemir! - Updated useModalForm hook's modal.show method to check if there's an id present or provided. If there is, it will continue to show the modal. If not, the modal will not show. (Resolves #4062)

2.5.2

Patch Changes

  • #4076 0c787747f38 Thanks @alicanerdurmaz! - - The wrapperStyles properties of <ThemedSider>'s <ThemedTitle> have been moved to the parent component. As a result, it is now possible to pass a custom <Title> component to <ThemedLayout> that will be styled correctly.

  • #4083 7dbb4b0d400 Thanks @alicanerdurmaz! - - ThemedTitle cursor is now a pointer when hovering over the logo.

2.5.1

Patch Changes

  • #4076 0c787747f38 Thanks @alicanerdurmaz! - - The wrapperStyles properties of <ThemedSider>'s <ThemedTitle> have been moved to the parent component. As a result, it is now possible to pass a custom <Title> component to <ThemedLayout> that will be styled correctly.

  • #4083 7dbb4b0d400 Thanks @alicanerdurmaz! - - ThemedTitle cursor is now a pointer when hovering over the logo.

2.5.0

Minor Changes

  • #3996 327be2be623 Thanks @alicanerdurmaz! - - RefineThemes added. It contains predefined colors for the Mantine components.

    import { Refine } from "@refinedev/core";
    import { RefineThemes } from "@refinedev/mantine";
    import dataProvider from "@refinedev/simple-rest";
    
    const App = () => {
      // ---
      return (
        <MantineProvider theme={RefineThemes.Magenta}>
          <Refine dataProvider={dataProvider("YOUR_API_URL")}>
            {/** your app here */}
          </Refine>
        </MantineProvider>
      );
    };
    • default title with icon added to AuthPage. It uses <ThemedTitle> component from @refinedev/mantine. You can remove it by setting title prop to false.
    import { AuthPage, ThemedTitle } from "@refinedev/mantine";
    const MyLoginPage = () => {
      return (
        <AuthPage
          type="login"
          title={
            <ThemedTitle
              title="My Title"
              icon={<img src="https://refine.dev/img/logo.png" />}
            />
          }
        />
      );
    };
    • title prop added to AuthPage's renderContent prop to use in the custom content.
    import { Box, Text } from "@mantine/core";
    import { AuthPage } from "@refinedev/mantine";
    
    const MyLoginPage = () => {
      return (
        <AuthPage
          contentProps={{
            style: {
              width: "400px",
            },
          }}
          renderContent={(content: React.ReactNode, title: React.ReactNode) => {
            return (
              <Box
                bg="white"
                borderRadius="md"
                px="5"
                display="flex"
                flexDirection="column"
                justifyContent="center"
                alignItems="center"
              >
                {title}
                <Text>Extra Header</Text>
                {content}
                <Text>Extra Footer</Text>
              </Box>
            );
          }}
        />
      );
    };
    • <ThemedLayout>, <ThemedSider>, <ThemedTitle>, <ThemedHeader> created to use theme colors.

    • <EditButton> in <Show> color changed to brand.

    • <CreateButton> color changed to brand.

    • <AuthPage> component uses colors from the theme.

    • <ThemedTitle> added to AuthPage

Patch Changes

2.4.0

Minor Changes

  • #3996 327be2be623 Thanks @alicanerdurmaz! - - RefineThemes added. It contains predefined colors for the Mantine components.

    import { Refine } from "@refinedev/core";
    import { RefineThemes } from "@refinedev/mantine";
    import dataProvider from "@refinedev/simple-rest";
    
    const App = () => {
      // ---
      return (
        <MantineProvider theme={RefineThemes.Magenta}>
          <Refine dataProvider={dataProvider("YOUR_API_URL")}>
            {/** your app here */}
          </Refine>
        </MantineProvider>
      );
    };
    • default title with icon added to AuthPage. It uses <ThemedTitle> component from @refinedev/mantine. You can remove it by setting title prop to false.
    import { AuthPage, ThemedTitle } from "@refinedev/mantine";
    const MyLoginPage = () => {
      return (
        <AuthPage
          type="login"
          title={
            <ThemedTitle
              title="My Title"
              icon={<img src="https://refine.dev/img/logo.png" />}
            />
          }
        />
      );
    };
    • title prop added to AuthPage's renderContent prop to use in the custom content.
    import { Box, Text } from "@mantine/core";
    import { AuthPage } from "@refinedev/mantine";
    
    const MyLoginPage = () => {
      return (
        <AuthPage
          contentProps={{
            style: {
              width: "400px",
            },
          }}
          renderContent={(content: React.ReactNode, title: React.ReactNode) => {
            return (
              <Box
                bg="white"
                borderRadius="md"
                px="5"
                display="flex"
                flexDirection="column"
                justifyContent="center"
                alignItems="center"
              >
                {title}
                <Text>Extra Header</Text>
                {content}
                <Text>Extra Footer</Text>
              </Box>
            );
          }}
        />
      );
    };
    • <ThemedLayout>, <ThemedSider>, <ThemedTitle>, <ThemedHeader> created to use theme colors.

    • <EditButton> in <Show> color changed to brand.

    • <CreateButton> color changed to brand.

    • <AuthPage> component uses colors from the theme.

    • <ThemedTitle> added to AuthPage

Patch Changes

2.3.7

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

2.3.6

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

2.3.5

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.

2.3.4

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.

2.3.3

Patch Changes

  • #3954 7dc9686f83b Thanks @salihozdemir! - Fixed an issue where the form dirty state was not reset after setting initial values. This caused the form to be dirty even though changes were not made. For this reason, the <UnSavedChangesNotifier> always warned when user tried to leave page.

2.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.

2.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.

2.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

2.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

2.1.0

Minor Changes

  • 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.

    syncWithLocation support in useModalForm hook

    useModalForm hook now support syncWithLocation prop. This prop can be used to sync the visibility state of them with the location via query params.

    You can pass a boolean or an object with key and syncId properties.

    • key is used to define the query param key. Default value is inferred from the resource and the action. For example posts-create for posts resource and create action.

    • syncId is used to include the id property in the query param key. Default value is false. This is useful for edit and clone actions.

    Removed props

    ignoreAccessControlProvider prop is removed from buttons.

  • Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!

    • useSelect's sort prop is now deprecated. Use sorters prop instead.
    useSelect({
    -    sort,
    +    sorters,
    })
  • Thanks @aliemir, @alicanerdurmaz, @batuhanW, @salihozdemir, @yildirayunlu, @recepkutuk!

    • <ReadyPage> isnow deprecated.
    • Created a <WelcomePage> component to welcome users.
  • 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

    All Mantine components re-exported from @refinedev/mantine have been removed. You should import them from Mantine 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 @mantine/core@5 @emotion/react @mantine/hooks@5 @mantine/notifications@5 @mantine/form@5
    # or
    pnpm add @mantine/core@5 @emotion/react @mantine/hooks@5 @mantine/notifications@5 @mantine/form@5
    # or
    yarn add @mantine/core@5 @emotion/react @mantine/hooks@5 @mantine/notifications@5 @mantine/form@5

    After that, you can import them from related packages directly.

    - import {
    -    MantineProvider,
    -    NotificationsProvider,
    -    TextInput,
    -    Select,
    -    List,
    -    useSelect,
    - } from "@refinedev/mantine";
    
    + import { useSelect, List } from "@refinedev/mantine";
    + import { MantineProvider, TextInput, Select } from "@mantine/core";
    + import { NotificationsProvider } from "@mantine/notifications";
  • 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! Updated buttons with resource property. resourceNameOrRouteName is now deprecated but kept working until next major version.

  • 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

1.17.0

Minor Changes

Patch Changes

  • Updated dependencies [0baa99ba787]:
    • @pankod/refine-ui-types@0.16.0

1.16.0

Minor Changes

Patch Changes

  • Updated dependencies [0baa99ba787]:
    • @pankod/refine-ui-types@0.15.0

1.15.10

Patch Changes

1.15.9

Patch Changes

1.15.8

Patch Changes

1.15.7

Patch Changes

1.15.6

Patch Changes

1.15.5

Patch Changes

1.15.4

Patch Changes

1.15.3

Patch Changes

1.15.2

Patch Changes

1.15.1

Patch Changes

1.15.0

Minor Changes

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

1.14.0

Minor Changes

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

1.13.4

Patch Changes

1.13.3

Patch Changes

1.13.2

Patch Changes

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

1.13.1

Patch Changes

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

1.13.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.

1.12.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.

1.11.8

Patch Changes

1.11.7

Patch Changes

1.11.6

Patch Changes

  • #3011 593531713c3 Thanks @aliemir! - Fixed <NumberField /> type for missing value prop type, which was erroring out when using <NumberField />.

1.11.5

Patch Changes

  • #3011 593531713c3 Thanks @aliemir! - Fixed <NumberField /> type for missing value prop type, which was erroring out when using <NumberField />.

1.11.4

Patch Changes

1.11.3

Patch Changes

1.11.2

Patch Changes

1.11.1

Patch Changes

1.11.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

1.10.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

1.9.5

Patch Changes

1.9.4

Patch Changes

1.9.3

Patch Changes

1.9.2

Patch Changes

1.9.1

Patch Changes

1.9.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

1.8.0

Minor Changes

Patch Changes

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

1.7.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.

  • #2818 295fc2f773 Thanks @salihozdemir! - Added missing Title component export.

  • Updated dependencies [476285e342, 5388a338ab]:

    • @pankod/refine-ui-types@0.12.0

1.6.13

Patch Changes

    • Updated the default false icon for the BooleanField component to be a cross instead of a minus.
    • Updated the TextField export name to be "TextField" instead of "TextFieldComponent".
    • Fixed the tsdoc links for the field components.

1.6.12

Patch Changes

  • #2799 78b61da700 Thanks @salihozdemir! - - Updated the default false icon for the BooleanField component to be a cross instead of a minus.
    • Updated the TextField export name to be "TextField" instead of "TextFieldComponent".
    • Fixed the tsdoc links for the field components.

1.6.11

Patch Changes

  • Add primary color to <SaveButton/>'s <ActionIcon/> component.

1.6.10

Patch Changes

1.6.9

Patch Changes

  • Fixed incorrectly used hooks in AuthPage component

1.6.8

Patch Changes

1.6.7

Patch Changes

  • Fixed responsive design for mobile devices

1.6.6

Patch Changes

1.6.5

Patch Changes

    • Added <LoadingOverlay /> component to basic view components.
    • Update goBack prop usage, now it can be passed to <ActionButton />'s children.
    • Fixed the issue that when title prop is passed to basic views, the back button is not shown.
    • Default title size decreased from h2 to h3.
  • Updated dependencies []:
    • @pankod/refine-ui-types@0.11.4

1.6.4

Patch Changes

  • #2718 d78d2a2a99 Thanks @salihozdemir! - - Added <LoadingOverlay /> component to basic view components.
    • Update goBack prop usage, now it can be passed to <ActionButton />'s children.
    • Fixed the issue that when title prop is passed to basic views, the back button is not shown.
    • Default title size decreased from h2 to h3.
  • Updated dependencies [d78d2a2a99]:
    • @pankod/refine-ui-types@0.11.3

1.6.3

Patch Changes

  • Fixed providers property empty array state in <AuthPage /> component

1.6.2

Patch Changes

  • Fixed providers property empty array state in <AuthPage /> component

1.6.1

Patch Changes

1.6.0

Minor Changes

  • Updated formProps property on <AuthPage /> component

Patch Changes

  • Added clearable prop to useSelect hook that is true by default.

1.5.0

Minor Changes

Patch Changes

1.4.0

Minor Changes

    • Added new component core and mantine support.
    • Move Auth types @pankod/refine-ui-types to @pankod/refine-core

1.3.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

1.2.0

Minor Changes

  • First release of @pankod/refine-mantine 🎉

1.1.0

Minor Changes

1.0.6

Patch Changes

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

1.0.5

Patch Changes

  • Updated dependencies [a65525de6f]:
    • @pankod/refine-ui-types@0.10.0

1.0.4

Patch Changes

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

1.0.3

Patch Changes

  • Updated dependencies [ad99916d6d]:
    • @pankod/refine-ui-types@0.8.0

1.0.2

Patch Changes

  • Fixed version of react-router to 6.3.0

  • Updated dependencies []:

    • @pankod/refine-ui-types@0.7.0

1.0.1

Patch Changes