{"version":3,"sources":["../src/index.tsx","../src/components/ring-countdown/index.tsx","../src/components/fields/text/index.tsx","../src/components/fields/tag/index.tsx","../src/components/fields/email/index.tsx","../src/components/fields/boolean/index.tsx","../src/components/fields/date/index.tsx","../src/components/fields/file/index.tsx","../src/components/fields/url/index.tsx","../src/components/fields/number/index.tsx","../src/components/fields/markdown/index.tsx","../src/components/buttons/create/index.tsx","../src/definitions/button/index.ts","../src/components/buttons/edit/index.tsx","../src/components/buttons/delete/index.tsx","../src/components/buttons/refresh/index.tsx","../src/components/buttons/show/index.tsx","../src/components/buttons/list/index.tsx","../src/components/buttons/export/index.tsx","../src/components/buttons/save/index.tsx","../src/components/buttons/clone/index.tsx","../src/components/buttons/import/index.tsx","../src/components/crud/list/index.tsx","../src/components/crud/show/index.tsx","../src/components/crud/edit/index.tsx","../src/components/crud/create/index.tsx","../src/components/pages/error/index.tsx","../src/components/pages/auth/index.tsx","../src/components/pages/auth/components/login/index.tsx","../src/contexts/form-context.ts","../src/components/pages/auth/components/styles.ts","../src/components/pages/auth/components/register/index.tsx","../src/components/pages/auth/components/forgotPassword/index.tsx","../src/components/pages/auth/components/updatePassword/index.tsx","../src/components/breadcrumb/index.tsx","../src/components/themedLayout/index.tsx","../src/components/themedLayout/sider/index.tsx","../src/hooks/form/useForm/index.ts","../src/hooks/form/useModalForm/index.ts","../src/hooks/form/useStepsForm/index.ts","../src/hooks/useSelect/index.ts","../src/hooks/useThemedLayoutContext/index.ts","../src/contexts/themedLayoutContext/index.tsx","../src/components/themedLayout/header/index.tsx","../src/components/themedLayout/hamburgerMenu/index.tsx","../src/components/themedLayout/title/index.tsx","../src/components/autoSaveIndicator/index.tsx","../src/providers/notificationProvider.tsx","../src/theme/index.ts"],"sourcesContent":["import \"./types/theme.js\";\n\nexport * from \"./components/index.js\";\nexport * from \"./providers/index.js\";\nexport * from \"./hooks/index.js\";\nexport * from \"./theme/index.js\";\nexport * from \"./definitions/index.js\";\nexport * from \"./contexts/index.js\";\n","import React from \"react\";\nimport { RingProgress, Text } from \"@mantine/core\";\n\nexport type RingCountdownProps = {\n  undoableTimeout: number;\n};\n\nexport const RingCountdown: React.FC<RingCountdownProps> = ({\n  undoableTimeout,\n}) => {\n  return (\n    <RingProgress\n      size={55}\n      thickness={4}\n      roundCaps\n      sections={[{ value: undoableTimeout * 20, color: \"primary\" }]}\n      label={\n        <Text weight={700} align=\"center\">\n          {undoableTimeout}\n        </Text>\n      }\n    />\n  );\n};\n","import React from \"react\";\nimport { Text } from \"@mantine/core\";\n\nimport type { TextFieldProps } from \"../types\";\n\n/**\n * This field lets you show basic text. It uses Mantine {@link https://mantine.dev/core/text `<Text>`} component.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/fields/text} for more details.\n */\nexport const TextField: React.FC<TextFieldProps> = ({ value, ...rest }) => {\n  return <Text {...rest}>{value}</Text>;\n};\n","import React from \"react\";\nimport { Chip } from \"@mantine/core\";\n\nimport type { TagFieldProps } from \"../types\";\n\n/**\n * This field lets you display a value in a tag. It uses Mantine {@link https://mantine.dev/core/chip `<Chip>`} component.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/fields/tag} for more details.\n */\nexport const TagField: React.FC<TagFieldProps> = ({ value, ...rest }) => {\n  return (\n    <Chip checked={false} {...rest}>\n      {value?.toString()}\n    </Chip>\n  );\n};\n","import React from \"react\";\nimport { Anchor } from \"@mantine/core\";\n\nimport type { EmailFieldProps } from \"../types\";\n\n/**\n * This field is used to display email values. It uses the {@link https://mantine.dev/core/text `<Text>` }\n * and {@link https://mantine.dev/core/anchor <Anchor>`} components from Mantine.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/fields/email} for more details.\n */\nexport const EmailField: React.FC<EmailFieldProps> = ({ value, ...rest }) => {\n  return (\n    <Anchor href={`mailto:${value}`} {...rest}>\n      {value}\n    </Anchor>\n  );\n};\n","import React from \"react\";\nimport { Tooltip } from \"@mantine/core\";\nimport { IconX, IconCheck } from \"@tabler/icons-react\";\n\nimport type { BooleanFieldProps } from \"../types\";\n\n/**\n * This field is used to display boolean values. It uses the {@link https://mantine.dev/core/tooltip `<Tooltip>`} values from Mantine.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/fields/boolean} for more details.\n */\nexport const BooleanField: React.FC<BooleanFieldProps> = ({\n  value,\n  valueLabelTrue = \"true\",\n  valueLabelFalse = \"false\",\n  trueIcon,\n  falseIcon,\n  svgIconProps,\n  ...rest\n}) => {\n  return (\n    <Tooltip label={value ? valueLabelTrue : valueLabelFalse} {...rest}>\n      <span>\n        {value\n          ? trueIcon ?? <IconCheck size={18} {...svgIconProps} />\n          : falseIcon ?? <IconX size={18} {...svgIconProps} />}\n      </span>\n    </Tooltip>\n  );\n};\n","import React from \"react\";\n\nimport dayjs from \"dayjs\";\nimport LocalizedFormat from \"dayjs/plugin/localizedFormat\";\n\nimport { Text } from \"@mantine/core\";\n\ndayjs.extend(LocalizedFormat);\n\nconst defaultLocale = dayjs.locale();\n\nimport type { DateFieldProps } from \"../types\";\n\n/**\n * This field is used to display dates. It uses {@link https://day.js.org/docs/en/display/format `Day.js`} to display date format and\n * Mantine {@link https://mantine.dev/core/text `<Text>`} component\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/fields/date} for more details.\n */\nexport const DateField: React.FC<DateFieldProps> = ({\n  value,\n  locales,\n  format: dateFormat = \"L\",\n  ...rest\n}) => {\n  return (\n    <Text {...rest}>\n      {value\n        ? dayjs(value)\n            .locale(locales || defaultLocale)\n            .format(dateFormat)\n        : \"\"}\n    </Text>\n  );\n};\n","import React from \"react\";\n\nimport { UrlField } from \"@components\";\n\nimport type { FileFieldProps } from \"../types\";\n\nexport const FileField: React.FC<FileFieldProps> = ({\n  title,\n  src,\n  ...rest\n}) => {\n  return (\n    <UrlField value={src} title={title} {...rest}>\n      {title ?? src}\n    </UrlField>\n  );\n};\n","import React from \"react\";\nimport { Anchor } from \"@mantine/core\";\n\nimport type { UrlFieldProps } from \"../types\";\n\n/**\n * This field is used to display email values. It uses the {@link https://mantine.dev/core/text `<Text>` }\n * and {@link https://mantine.dev/core/anchor <Anchor>`} components from Mantine.\n * You can pass a URL in its `value` property and you can show a text in its place by passing any `children`.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/fields/url} for more details.\n */\nexport const UrlField: React.FC<UrlFieldProps> = ({\n  children,\n  value,\n  title,\n  ...rest\n}) => {\n  return (\n    <Anchor href={value} title={title} {...rest}>\n      {children ?? value}\n    </Anchor>\n  );\n};\n","import React from \"react\";\nimport { Text } from \"@mantine/core\";\n\nimport type { NumberFieldProps } from \"../types\";\n\nfunction toLocaleStringSupportsOptions() {\n  return !!(\n    typeof Intl === \"object\" &&\n    Intl &&\n    typeof Intl.NumberFormat === \"function\"\n  );\n}\n/**\n * This field is used to display a number formatted according to the browser locale, right aligned. and uses {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl `Intl`} to display date format\n * and Mantine {@link https://mantine.dev/core/text `<Text>`} component.\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/fields/number/} for more details.\n */\nexport const NumberField: React.FC<NumberFieldProps> = ({\n  value,\n  locale,\n  options,\n  ...rest\n}) => {\n  const number = Number(value);\n\n  return (\n    <Text {...rest}>\n      {toLocaleStringSupportsOptions()\n        ? number.toLocaleString(locale, options)\n        : number}\n    </Text>\n  );\n};\n","import React from \"react\";\nimport ReactMarkdown from \"react-markdown\";\nimport gfm from \"remark-gfm\";\n\nimport type { MarkdownFieldProps } from \"../types\";\n\n/**\n * This field lets you display markdown content. It supports {@link https://github.github.com/gfm/ GitHub Flavored Markdown}.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/fields/markdown} for more details.\n */\nexport const MarkdownField: React.FC<MarkdownFieldProps> = ({\n  value = \"\",\n  ...rest\n}) => {\n  return (\n    // There's an issue related with the type inconsistency of the `remark-gfm` and `remark-rehype` packages, we need to cast the `gfm` as any. (https://github.com/orgs/rehypejs/discussions/63)\n    <ReactMarkdown\n      remarkPlugins={[gfm] as unknown as ReactMarkdown.PluggableList}\n      {...rest}\n    >\n      {value}\n    </ReactMarkdown>\n  );\n};\n","import React from \"react\";\nimport { useCreateButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Anchor, Button } from \"@mantine/core\";\nimport { IconSquarePlus } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { CreateButtonProps } from \"../types\";\n\nexport const CreateButton: React.FC<CreateButtonProps> = ({\n  resource: resourceNameFromProps,\n  hideText = false,\n  accessControl,\n  svgIconProps,\n  meta,\n  children,\n  onClick,\n  ...rest\n}) => {\n  const { to, label, title, disabled, hidden, LinkComponent } = useCreateButton(\n    {\n      resource: resourceNameFromProps,\n      accessControl,\n      meta,\n    },\n  );\n\n  const isDisabled = disabled || rest.disabled;\n  const isHidden = hidden || rest.hidden;\n\n  if (isHidden) return null;\n\n  const { variant, styles, ...commonProps } = rest;\n\n  return (\n    <Anchor\n      component={LinkComponent as any}\n      to={to}\n      replace={false}\n      onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n        if (isDisabled) {\n          e.preventDefault();\n          return;\n        }\n        if (onClick) {\n          e.preventDefault();\n          onClick(e);\n        }\n      }}\n    >\n      {hideText ? (\n        <ActionIcon\n          title={title}\n          disabled={isDisabled}\n          aria-label={label}\n          color=\"primary\"\n          {...(variant\n            ? {\n                variant: mapButtonVariantToActionIconVariant(variant),\n              }\n            : { variant: \"filled\" })}\n          data-testid={RefineButtonTestIds.CreateButton}\n          className={RefineButtonClassNames.CreateButton}\n          {...commonProps}\n        >\n          <IconSquarePlus size={18} {...svgIconProps} />\n        </ActionIcon>\n      ) : (\n        <Button\n          disabled={isDisabled}\n          leftIcon={<IconSquarePlus size={18} {...svgIconProps} />}\n          title={title}\n          data-testid={RefineButtonTestIds.CreateButton}\n          className={RefineButtonClassNames.CreateButton}\n          color=\"primary\"\n          variant=\"filled\"\n          {...rest}\n        >\n          {children ?? label}\n        </Button>\n      )}\n    </Anchor>\n  );\n};\n","import type { ActionIconVariant, ButtonVariant } from \"@mantine/core\";\n\nexport const mapButtonVariantToActionIconVariant = (\n  variant?: ButtonVariant,\n): ActionIconVariant | undefined => {\n  switch (variant) {\n    case \"white\":\n      return \"default\";\n    default:\n      return variant;\n  }\n};\n","import React from \"react\";\nimport { useEditButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Anchor, Button } from \"@mantine/core\";\nimport { IconPencil } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { EditButtonProps } from \"../types\";\n\n/**\n * `<EditButton>` uses Mantine {@link https://mantine.dev/core/button `<Button> component`}.\n * It uses the {@link https://refine.dev/docs/api-reference/core/hooks/navigation/useNavigation#edit `edit`} method from {@link https://refine.dev/docs/api-reference/core/hooks/navigation/useNavigation `useNavigation`} under the hood.\n * It can be useful when redirecting the app to the edit page with the record id route of resource}.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/edit-button} for more details.\n */\nexport const EditButton: React.FC<EditButtonProps> = ({\n  resource: resourceNameFromProps,\n  recordItemId,\n  hideText = false,\n  accessControl,\n  svgIconProps,\n  meta,\n  children,\n  onClick,\n  ...rest\n}) => {\n  const { to, label, title, disabled, hidden, LinkComponent } = useEditButton({\n    resource: resourceNameFromProps,\n    id: recordItemId,\n    accessControl,\n    meta,\n  });\n\n  const isDisabled = disabled || rest.disabled;\n  const isHidden = hidden || rest.hidden;\n\n  if (isHidden) return null;\n\n  const { variant, styles, ...commonProps } = rest;\n\n  return (\n    <Anchor\n      component={LinkComponent as any}\n      to={to}\n      replace={false}\n      onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n        if (isDisabled) {\n          e.preventDefault();\n          return;\n        }\n        if (onClick) {\n          e.preventDefault();\n          onClick(e);\n        }\n      }}\n    >\n      {hideText ? (\n        <ActionIcon\n          title={title}\n          disabled={isDisabled}\n          aria-label={label}\n          data-testid={RefineButtonTestIds.EditButton}\n          className={RefineButtonClassNames.EditButton}\n          {...(variant\n            ? {\n                variant: mapButtonVariantToActionIconVariant(variant),\n              }\n            : { variant: \"default\" })}\n          {...commonProps}\n        >\n          <IconPencil size={18} {...svgIconProps} />\n        </ActionIcon>\n      ) : (\n        <Button\n          variant=\"default\"\n          disabled={isDisabled}\n          leftIcon={<IconPencil size={18} {...svgIconProps} />}\n          title={title}\n          data-testid={RefineButtonTestIds.EditButton}\n          className={RefineButtonClassNames.EditButton}\n          {...rest}\n        >\n          {children ?? label}\n        </Button>\n      )}\n    </Anchor>\n  );\n};\n","import React, { useState } from \"react\";\nimport { useDeleteButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { Group, Text, Button, Popover, ActionIcon } from \"@mantine/core\";\nimport { IconTrash } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { DeleteButtonProps } from \"../types\";\n\n/**\n * `<DeleteButton>` uses Mantine {@link https://mantine.dev/core/button `<Button>`} and {@link https://mantine.dev/core/modal `<Modal>`} components.\n * When you try to delete something, a dialog modal shows up and asks for confirmation. When confirmed it executes the `useDelete` method provided by your `dataProvider`.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/delete-button} for more details.\n */\nexport const DeleteButton: React.FC<DeleteButtonProps> = ({\n  resource: resourceNameFromProps,\n  recordItemId,\n  onSuccess,\n  mutationMode,\n  invalidates,\n  children,\n  successNotification,\n  errorNotification,\n  hideText = false,\n  accessControl,\n  meta,\n  dataProviderName,\n  confirmTitle,\n  confirmOkText,\n  confirmCancelText,\n  svgIconProps,\n  ...rest\n}) => {\n  const {\n    title,\n    label,\n    hidden,\n    disabled,\n    loading,\n    confirmTitle: defaultConfirmTitle,\n    confirmOkLabel: defaultConfirmOkLabel,\n    cancelLabel: defaultCancelLabel,\n    onConfirm,\n  } = useDeleteButton({\n    resource: resourceNameFromProps,\n    id: recordItemId,\n    dataProviderName,\n    errorNotification,\n    successNotification,\n    invalidates,\n    mutationMode,\n    accessControl,\n    meta,\n    onSuccess,\n  });\n\n  const [opened, setOpened] = useState(false);\n\n  const { variant, styles, ...commonProps } = rest;\n\n  const isDisabled = disabled || rest.disabled;\n  const isHidden = hidden || rest.hidden;\n\n  if (isHidden) return null;\n\n  return (\n    <Popover\n      opened={opened}\n      onChange={setOpened}\n      withArrow\n      withinPortal\n      disabled={isDisabled}\n    >\n      <Popover.Target>\n        {hideText ? (\n          <ActionIcon\n            color=\"red\"\n            onClick={() => setOpened((o) => !o)}\n            disabled={loading || isDisabled}\n            loading={loading}\n            data-testid={RefineButtonTestIds.DeleteButton}\n            className={RefineButtonClassNames.DeleteButton}\n            {...(variant\n              ? {\n                  variant: mapButtonVariantToActionIconVariant(variant),\n                }\n              : { variant: \"outline\" })}\n            {...commonProps}\n          >\n            <IconTrash size={18} {...svgIconProps} />\n          </ActionIcon>\n        ) : (\n          <Button\n            color=\"red\"\n            variant=\"outline\"\n            onClick={() => setOpened((o) => !o)}\n            disabled={loading || isDisabled}\n            loading={loading}\n            title={title}\n            leftIcon={<IconTrash size={18} {...svgIconProps} />}\n            data-testid={RefineButtonTestIds.DeleteButton}\n            className={RefineButtonClassNames.DeleteButton}\n            {...rest}\n          >\n            {children ?? label}\n          </Button>\n        )}\n      </Popover.Target>\n      <Popover.Dropdown py=\"xs\">\n        <Text size=\"sm\" weight=\"bold\">\n          {confirmTitle ?? defaultConfirmTitle}\n        </Text>\n        <Group position=\"center\" noWrap spacing=\"xs\" mt=\"xs\">\n          <Button onClick={() => setOpened(false)} variant=\"default\" size=\"xs\">\n            {confirmCancelText ?? defaultCancelLabel}\n          </Button>\n          <Button\n            color=\"red\"\n            onClick={() => {\n              onConfirm();\n              setOpened(false);\n            }}\n            autoFocus\n            size=\"xs\"\n          >\n            {confirmOkText ?? defaultConfirmOkLabel}\n          </Button>\n        </Group>\n      </Popover.Dropdown>\n    </Popover>\n  );\n};\n","import React from \"react\";\nimport { useRefreshButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Button } from \"@mantine/core\";\nimport { IconRefresh } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { RefreshButtonProps } from \"../types\";\n\n/**\n * `<RefreshButton>` uses Mantine {@link https://mantine.dev/core/button `<Button> `} component.\n * to update the data shown on the page via the {@link https://refine.dev/docs/api-reference/core/hooks/invalidate/useInvalidate `useInvalidate`} hook.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/refresh-button} for more details.\n */\nexport const RefreshButton: React.FC<RefreshButtonProps> = ({\n  resource: resourceNameFromProps,\n  recordItemId,\n  hideText = false,\n  dataProviderName,\n  svgIconProps,\n  children,\n  onClick,\n  ...rest\n}) => {\n  const {\n    onClick: onRefresh,\n    label,\n    loading,\n  } = useRefreshButton({\n    resource: resourceNameFromProps,\n    id: recordItemId,\n    dataProviderName,\n  });\n\n  const { variant, styles: _styles, ...commonProps } = rest;\n\n  return hideText ? (\n    <ActionIcon\n      onClick={onClick ? onClick : onRefresh}\n      loading={loading}\n      aria-label={label}\n      data-testid={RefineButtonTestIds.RefreshButton}\n      className={RefineButtonClassNames.RefreshButton}\n      {...(variant\n        ? {\n            variant: mapButtonVariantToActionIconVariant(variant),\n          }\n        : { variant: \"default\" })}\n      {...commonProps}\n    >\n      <IconRefresh size={18} {...svgIconProps} />\n    </ActionIcon>\n  ) : (\n    <Button\n      variant=\"default\"\n      leftIcon={<IconRefresh size={18} {...svgIconProps} />}\n      loading={loading}\n      onClick={onClick ? onClick : onRefresh}\n      data-testid={RefineButtonTestIds.RefreshButton}\n      className={RefineButtonClassNames.RefreshButton}\n      {...rest}\n    >\n      {children ?? label}\n    </Button>\n  );\n};\n","import React from \"react\";\nimport { useShowButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Anchor, Button } from \"@mantine/core\";\nimport { IconEye } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { ShowButtonProps } from \"../types\";\n\n/**\n * `<ShowButton>` uses Mantine {@link https://mantine.dev/core/button `<Button> `} component.\n * It uses the {@link https://refine.dev/docs/api-reference/core/hooks/navigation/useNavigation#show `show`} method from {@link https://refine.dev/docs/api-reference/core/hooks/navigation/useNavigation `useNavigation`} under the hood.\n * It can be useful when redirecting the app to the show page with the record id route of resource.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/show-button} for more details.\n */\nexport const ShowButton: React.FC<ShowButtonProps> = ({\n  resource: resourceNameFromProps,\n  recordItemId,\n  hideText = false,\n  accessControl,\n  svgIconProps,\n  meta,\n  children,\n  onClick,\n  ...rest\n}) => {\n  const { to, label, title, hidden, disabled, LinkComponent } = useShowButton({\n    resource: resourceNameFromProps,\n    id: recordItemId,\n    accessControl,\n    meta,\n  });\n\n  const { variant, styles, ...commonProps } = rest;\n\n  const isDisabled = disabled || rest.disabled;\n  const isHidden = hidden || rest.hidden;\n\n  if (isHidden) return null;\n\n  return (\n    <Anchor\n      component={LinkComponent as any}\n      to={to}\n      replace={false}\n      onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n        if (isDisabled) {\n          e.preventDefault();\n          return;\n        }\n        if (onClick) {\n          e.preventDefault();\n          onClick(e);\n        }\n      }}\n    >\n      {hideText ? (\n        <ActionIcon\n          {...(variant\n            ? {\n                variant: mapButtonVariantToActionIconVariant(variant),\n              }\n            : { variant: \"default\" })}\n          disabled={isDisabled}\n          title={title}\n          data-testid={RefineButtonTestIds.ShowButton}\n          className={RefineButtonClassNames.ShowButton}\n          {...commonProps}\n        >\n          <IconEye size={18} {...svgIconProps} />\n        </ActionIcon>\n      ) : (\n        <Button\n          variant=\"default\"\n          disabled={isDisabled}\n          leftIcon={<IconEye size={18} {...svgIconProps} />}\n          title={title}\n          data-testid={RefineButtonTestIds.ShowButton}\n          className={RefineButtonClassNames.ShowButton}\n          {...rest}\n        >\n          {children ?? label}\n        </Button>\n      )}\n    </Anchor>\n  );\n};\n","import React from \"react\";\nimport { useListButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Anchor, Button } from \"@mantine/core\";\nimport { IconList } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { ListButtonProps } from \"../types\";\n\n/**\n * `<ListButton>` is using uses Mantine {@link https://mantine.dev/core/button `<Button> `} component.\n * It uses the  {@link https://refine.dev/docs/api-reference/core/hooks/navigation/useNavigation#list `list`} method from {@link https://refine.dev/docs/api-reference/core/hooks/navigation/useNavigation `useNavigation`} under the hood.\n * It can be useful when redirecting the app to the list page route of resource}.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/list-button} for more details.\n **/\nexport const ListButton: React.FC<ListButtonProps> = ({\n  resource: resourceNameFromProps,\n  hideText = false,\n  accessControl,\n  svgIconProps,\n  meta,\n  children,\n  onClick,\n  ...rest\n}) => {\n  const { to, label, title, disabled, hidden, LinkComponent } = useListButton({\n    resource: resourceNameFromProps,\n    accessControl,\n    meta,\n  });\n  const { variant, styles, ...commonProps } = rest;\n\n  const isDisabled = disabled || rest.disabled;\n  const isHidden = hidden || rest.hidden;\n\n  if (isHidden) return null;\n\n  return (\n    <Anchor\n      component={LinkComponent as any}\n      to={to}\n      replace={false}\n      onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n        if (isDisabled) {\n          e.preventDefault();\n          return;\n        }\n        if (onClick) {\n          e.preventDefault();\n          onClick(e);\n        }\n      }}\n    >\n      {hideText ? (\n        <ActionIcon\n          {...(variant\n            ? {\n                variant: mapButtonVariantToActionIconVariant(variant),\n              }\n            : { variant: \"default\" })}\n          aria-label={label}\n          disabled={disabled}\n          title={title}\n          data-testid={RefineButtonTestIds.ListButton}\n          className={RefineButtonClassNames.ListButton}\n          {...commonProps}\n        >\n          <IconList size={18} {...svgIconProps} />\n        </ActionIcon>\n      ) : (\n        <Button\n          variant=\"default\"\n          disabled={isDisabled}\n          leftIcon={<IconList size={18} {...svgIconProps} />}\n          title={title}\n          data-testid={RefineButtonTestIds.ListButton}\n          className={RefineButtonClassNames.ListButton}\n          {...rest}\n        >\n          {children ?? label}\n        </Button>\n      )}\n    </Anchor>\n  );\n};\n","import React from \"react\";\nimport { useExportButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Button } from \"@mantine/core\";\nimport { IconFileExport } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { ExportButtonProps } from \"../types\";\n\n/**\n * `<ExportButton>` uses Mantine {@link https://mantine.dev/core/button `<Button> `} component with a default export icon and a default text with \"Export\".\n * It only has presentational value.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/export-button} for more details.\n */\nexport const ExportButton: React.FC<ExportButtonProps> = ({\n  hideText = false,\n  children,\n  loading = false,\n  svgIconProps,\n  ...rest\n}) => {\n  const { label } = useExportButton();\n\n  const { variant, styles, ...commonProps } = rest;\n\n  return hideText ? (\n    <ActionIcon\n      {...(variant\n        ? {\n            variant: mapButtonVariantToActionIconVariant(variant),\n          }\n        : { variant: \"default\" })}\n      loading={loading}\n      aria-label={label}\n      data-testid={RefineButtonTestIds.ExportButton}\n      className={RefineButtonClassNames.ExportButton}\n      {...commonProps}\n    >\n      <IconFileExport size={18} {...svgIconProps} />\n    </ActionIcon>\n  ) : (\n    <Button\n      variant=\"default\"\n      loading={loading}\n      leftIcon={<IconFileExport size={18} {...svgIconProps} />}\n      data-testid={RefineButtonTestIds.ExportButton}\n      className={RefineButtonClassNames.ExportButton}\n      {...rest}\n    >\n      {children ?? label}\n    </Button>\n  );\n};\n","import React from \"react\";\nimport { useSaveButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Button } from \"@mantine/core\";\nimport { IconDeviceFloppy } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { SaveButtonProps } from \"../types\";\n\n/**\n * `<SaveButton>` uses Mantine {@link https://mantine.dev/core/button `<Button> `}.\n * It uses it for presantation purposes only. Some of the hooks that refine has adds features to this button.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/save-button} for more details.\n */\nexport const SaveButton: React.FC<SaveButtonProps> = ({\n  hideText = false,\n  svgIconProps,\n  children,\n  ...rest\n}) => {\n  const { label } = useSaveButton();\n\n  const { variant, styles, ...commonProps } = rest;\n\n  return hideText ? (\n    <ActionIcon\n      {...(variant\n        ? {\n            variant: mapButtonVariantToActionIconVariant(variant),\n          }\n        : { variant: \"filled\", color: \"primary\" })}\n      aria-label={label}\n      data-testid={RefineButtonTestIds.SaveButton}\n      className={RefineButtonClassNames.SaveButton}\n      {...commonProps}\n    >\n      <IconDeviceFloppy size={18} {...svgIconProps} />\n    </ActionIcon>\n  ) : (\n    <Button\n      variant=\"filled\"\n      leftIcon={<IconDeviceFloppy size={18} {...svgIconProps} />}\n      data-testid={RefineButtonTestIds.SaveButton}\n      className={RefineButtonClassNames.SaveButton}\n      {...rest}\n    >\n      {children ?? label}\n    </Button>\n  );\n};\n","import React from \"react\";\nimport { useCloneButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Anchor, Button } from \"@mantine/core\";\nimport { IconSquarePlus } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { CloneButtonProps } from \"../types\";\n\n/**\n * `<CloneButton>` uses Mantine {@link https://mantine.dev/core/button `<Button> component`}.\n * It uses the {@link https://refine.dev/docs/api-reference/core/hooks/navigation/useNavigation#clone `clone`} method from {@link https://refine.dev/docs/api-reference/core/hooks/navigation/useNavigation useNavigation} under the hood.\n * It can be useful when redirecting the app to the create page with the record id route of resource.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/clone-button} for more details.\n *\n */\nexport const CloneButton: React.FC<CloneButtonProps> = ({\n  resource: resourceNameFromProps,\n  recordItemId,\n  hideText = false,\n  accessControl,\n  svgIconProps,\n  meta,\n  children,\n  onClick,\n  ...rest\n}) => {\n  const { to, label, title, hidden, disabled, LinkComponent } = useCloneButton({\n    resource: resourceNameFromProps,\n    id: recordItemId,\n    accessControl,\n    meta,\n  });\n\n  const isDisabled = disabled || rest.disabled;\n  const isHidden = hidden || rest.hidden;\n\n  if (isHidden) return null;\n\n  const { variant, styles, ...commonProps } = rest;\n\n  return (\n    <Anchor\n      component={LinkComponent as any}\n      to={to}\n      replace={false}\n      onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n        if (isDisabled) {\n          e.preventDefault();\n          return;\n        }\n        if (onClick) {\n          e.preventDefault();\n          onClick(e);\n        }\n      }}\n    >\n      {hideText ? (\n        <ActionIcon\n          disabled={isDisabled}\n          title={title}\n          aria-label={label}\n          {...(variant\n            ? {\n                variant: mapButtonVariantToActionIconVariant(variant),\n              }\n            : { variant: \"default\" })}\n          data-testid={RefineButtonTestIds.CloneButton}\n          className={RefineButtonClassNames.CloneButton}\n          {...commonProps}\n        >\n          <IconSquarePlus size={18} {...svgIconProps} />\n        </ActionIcon>\n      ) : (\n        <Button\n          disabled={isDisabled}\n          variant=\"default\"\n          leftIcon={<IconSquarePlus size={18} {...svgIconProps} />}\n          title={title}\n          data-testid={RefineButtonTestIds.CloneButton}\n          className={RefineButtonClassNames.CloneButton}\n          {...rest}\n        >\n          {children ?? label}\n        </Button>\n      )}\n    </Anchor>\n  );\n};\n","import React from \"react\";\nimport { useImportButton } from \"@refinedev/core\";\nimport {\n  RefineButtonClassNames,\n  RefineButtonTestIds,\n} from \"@refinedev/ui-types\";\nimport { ActionIcon, Button } from \"@mantine/core\";\nimport { IconFileImport } from \"@tabler/icons-react\";\n\nimport { mapButtonVariantToActionIconVariant } from \"@definitions/button\";\nimport type { ImportButtonProps } from \"../types\";\n\n/**\n * `<ImportButton>` is compatible with the {@link https://refine.dev/docs/api-reference/core/hooks/import-export/useImport/ `useImport`} core hook.\n * It uses uses Mantine {@link https://mantine.dev/core/button `<Button> component`} and native html {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input  `<input>`} element.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/buttons/import-button} for more details.\n */\nexport const ImportButton: React.FC<ImportButtonProps> = ({\n  inputProps,\n  hideText = false,\n  loading = false,\n  svgIconProps,\n  children,\n  ...rest\n}) => {\n  const { label } = useImportButton();\n\n  const { variant, styles, ...commonProps } = rest;\n\n  return (\n    <label htmlFor=\"contained-button-file\">\n      <input {...inputProps} id=\"contained-button-file\" multiple hidden />\n      {hideText ? (\n        <ActionIcon\n          {...(variant\n            ? {\n                variant: mapButtonVariantToActionIconVariant(variant),\n              }\n            : { variant: \"default\" })}\n          aria-label={label}\n          component=\"span\"\n          loading={loading}\n          data-testid={RefineButtonTestIds.ImportButton}\n          className={RefineButtonClassNames.ImportButton}\n          {...commonProps}\n        >\n          <IconFileImport size={18} {...svgIconProps} />\n        </ActionIcon>\n      ) : (\n        <Button\n          variant=\"default\"\n          component=\"span\"\n          leftIcon={<IconFileImport size={18} {...svgIconProps} />}\n          loading={loading}\n          data-testid={RefineButtonTestIds.ImportButton}\n          className={RefineButtonClassNames.ImportButton}\n          {...rest}\n        >\n          {children ?? label}\n        </Button>\n      )}\n    </label>\n  );\n};\n","import React from \"react\";\nimport { Box, Card, Group, Stack, Title } from \"@mantine/core\";\nimport {\n  useRefineContext,\n  useResourceParams,\n  useUserFriendlyName,\n  useTranslate,\n} from \"@refinedev/core\";\n\nimport { CreateButton, Breadcrumb, type CreateButtonProps } from \"@components\";\nimport type { ListProps } from \"../types\";\nimport { RefinePageHeaderClassNames } from \"@refinedev/ui-types\";\n\nexport const List: React.FC<ListProps> = (props) => {\n  const {\n    canCreate,\n    children,\n    createButtonProps: createButtonPropsFromProps,\n    resource: resourceFromProps,\n    wrapperProps,\n    contentProps,\n    headerProps,\n    headerButtonProps,\n    headerButtons: headerButtonsFromProps,\n    breadcrumb: breadcrumbFromProps,\n    title,\n  } = props;\n  const translate = useTranslate();\n  const {\n    options: { breadcrumb: globalBreadcrumb } = {},\n  } = useRefineContext();\n\n  const getUserFriendlyName = useUserFriendlyName();\n\n  const { resource, identifier } = useResourceParams({\n    resource: resourceFromProps,\n  });\n\n  const isCreateButtonVisible =\n    canCreate ?? (!!resource?.create || createButtonPropsFromProps);\n\n  const breadcrumb =\n    typeof breadcrumbFromProps === \"undefined\"\n      ? globalBreadcrumb\n      : breadcrumbFromProps;\n\n  const createButtonProps: CreateButtonProps | undefined = isCreateButtonVisible\n    ? ({\n        size: \"sm\",\n        resource: identifier,\n        ...createButtonPropsFromProps,\n      } as const)\n    : undefined;\n\n  const defaultHeaderButtons = isCreateButtonVisible ? (\n    <CreateButton {...createButtonProps} />\n  ) : null;\n\n  const breadcrumbComponent =\n    typeof breadcrumb !== \"undefined\" ? <>{breadcrumb}</> : <Breadcrumb />;\n\n  const headerButtons = headerButtonsFromProps\n    ? typeof headerButtonsFromProps === \"function\"\n      ? headerButtonsFromProps({\n          defaultButtons: defaultHeaderButtons,\n          createButtonProps,\n        })\n      : headerButtonsFromProps\n    : defaultHeaderButtons;\n\n  return (\n    <Card p=\"md\" {...wrapperProps}>\n      <Group position=\"apart\" align=\"center\" {...headerProps}>\n        <Stack spacing=\"xs\">\n          {breadcrumbComponent}\n          {title ?? (\n            <Title\n              order={3}\n              transform=\"capitalize\"\n              className={RefinePageHeaderClassNames.Title}\n            >\n              {translate(\n                `${identifier}.titles.list`,\n                getUserFriendlyName(\n                  resource?.meta?.label ?? identifier,\n                  \"plural\",\n                ),\n              )}\n            </Title>\n          )}\n        </Stack>\n        <Group spacing=\"xs\" {...headerButtonProps}>\n          {headerButtons}\n        </Group>\n      </Group>\n      <Box pt=\"sm\" {...contentProps}>\n        {children}\n      </Box>\n    </Card>\n  );\n};\n","import React from \"react\";\nimport {\n  Box,\n  Card,\n  Group,\n  ActionIcon,\n  Stack,\n  Title,\n  LoadingOverlay,\n} from \"@mantine/core\";\nimport {\n  useBack,\n  useGo,\n  useRefineContext,\n  useResourceParams,\n  useUserFriendlyName,\n  useToPath,\n  useTranslate,\n} from \"@refinedev/core\";\nimport { IconArrowLeft } from \"@tabler/icons-react\";\n\nimport {\n  DeleteButton,\n  EditButton,\n  ListButton,\n  RefreshButton,\n  Breadcrumb,\n  type ListButtonProps,\n  type EditButtonProps,\n  type DeleteButtonProps,\n  type RefreshButtonProps,\n} from \"@components\";\nimport type { ShowProps } from \"../types\";\nimport { RefinePageHeaderClassNames } from \"@refinedev/ui-types\";\n\nexport const Show: React.FC<ShowProps> = (props) => {\n  const {\n    children,\n    resource: resourceFromProps,\n    recordItemId,\n    canDelete,\n    deleteButtonProps: deleteButtonPropsFromProps,\n    canEdit,\n    dataProviderName,\n    isLoading,\n    footerButtons: footerButtonsFromProps,\n    footerButtonProps,\n    headerButtons: headerButtonsFromProps,\n    headerButtonProps,\n    wrapperProps,\n    contentProps,\n    headerProps,\n    goBack: goBackFromProps,\n    breadcrumb: breadcrumbFromProps,\n    title,\n  } = props;\n  const translate = useTranslate();\n  const {\n    options: { breadcrumb: globalBreadcrumb } = {},\n  } = useRefineContext();\n\n  const back = useBack();\n  const go = useGo();\n  const getUserFriendlyName = useUserFriendlyName();\n  const {\n    resource,\n    identifier,\n    id: idFromParams,\n  } = useResourceParams({\n    resource: resourceFromProps,\n  });\n\n  const goListPath = useToPath({\n    resource,\n    action: \"list\",\n  });\n  const id = recordItemId ?? idFromParams;\n\n  const breadcrumb =\n    typeof breadcrumbFromProps === \"undefined\"\n      ? globalBreadcrumb\n      : breadcrumbFromProps;\n\n  const breadcrumbComponent =\n    typeof breadcrumb !== \"undefined\" ? <>{breadcrumb}</> : <Breadcrumb />;\n\n  const hasList = resource?.list && !recordItemId;\n  const isDeleteButtonVisible =\n    canDelete ?? (resource?.meta?.canDelete || deleteButtonPropsFromProps);\n\n  const isEditButtonVisible =\n    canEdit ?? resource?.meta?.canEdit ?? !!resource?.edit;\n\n  const listButtonProps: ListButtonProps | undefined = hasList\n    ? {\n        ...(isLoading ? { disabled: true } : {}),\n        resource: identifier,\n      }\n    : undefined;\n  const editButtonProps: EditButtonProps | undefined = isEditButtonVisible\n    ? {\n        ...(isLoading ? { disabled: true } : {}),\n        color: \"primary\",\n        variant: \"filled\",\n        resource: identifier,\n        recordItemId: id,\n      }\n    : undefined;\n  const deleteButtonProps: DeleteButtonProps | undefined = isDeleteButtonVisible\n    ? {\n        ...(isLoading ? { disabled: true } : {}),\n        resource: identifier,\n        recordItemId: id,\n        onSuccess: () => {\n          go({ to: goListPath });\n        },\n        dataProviderName,\n        ...deleteButtonPropsFromProps,\n      }\n    : undefined;\n  const refreshButtonProps: RefreshButtonProps = {\n    ...(isLoading ? { disabled: true } : {}),\n    resource: identifier,\n    recordItemId: id,\n    dataProviderName,\n  };\n\n  const loadingOverlayVisible = isLoading ?? false;\n\n  const defaultHeaderButtons = (\n    <>\n      {hasList && <ListButton {...listButtonProps} />}\n      {isEditButtonVisible && <EditButton {...editButtonProps} />}\n      {isDeleteButtonVisible && <DeleteButton {...deleteButtonProps} />}\n      <RefreshButton {...refreshButtonProps} />\n    </>\n  );\n\n  const buttonBack =\n    goBackFromProps === (false || null) ? null : (\n      <ActionIcon onClick={back}>\n        {typeof goBackFromProps !== \"undefined\" ? (\n          goBackFromProps\n        ) : (\n          <IconArrowLeft />\n        )}\n      </ActionIcon>\n    );\n\n  const headerButtons = headerButtonsFromProps\n    ? typeof headerButtonsFromProps === \"function\"\n      ? headerButtonsFromProps({\n          defaultButtons: defaultHeaderButtons,\n          deleteButtonProps,\n          editButtonProps,\n          listButtonProps,\n          refreshButtonProps,\n        })\n      : headerButtonsFromProps\n    : defaultHeaderButtons;\n\n  const footerButtons = footerButtonsFromProps\n    ? typeof footerButtonsFromProps === \"function\"\n      ? footerButtonsFromProps({ defaultButtons: null })\n      : footerButtonsFromProps\n    : null;\n\n  return (\n    <Card p=\"md\" {...wrapperProps}>\n      <LoadingOverlay visible={loadingOverlayVisible} />\n      <Group position=\"apart\" align=\"center\" {...headerProps}>\n        <Stack spacing=\"xs\">\n          {breadcrumbComponent}\n          <Group spacing=\"xs\">\n            {buttonBack}\n            {title ?? (\n              <Title\n                order={3}\n                transform=\"capitalize\"\n                className={RefinePageHeaderClassNames.Title}\n              >\n                {translate(\n                  `${identifier}.titles.show`,\n                  `Show ${getUserFriendlyName(\n                    resource?.meta?.label ?? identifier,\n                    \"singular\",\n                  )}`,\n                )}\n              </Title>\n            )}\n          </Group>\n        </Stack>\n        <Group spacing=\"xs\" {...headerButtonProps}>\n          {headerButtons}\n        </Group>\n      </Group>\n      <Box pt=\"sm\" {...contentProps}>\n        {children}\n      </Box>\n      <Group position=\"right\" spacing=\"xs\" mt=\"md\" {...footerButtonProps}>\n        {footerButtons}\n      </Group>\n    </Card>\n  );\n};\n","import React from \"react\";\nimport {\n  Box,\n  Card,\n  Group,\n  ActionIcon,\n  Stack,\n  Title,\n  LoadingOverlay,\n} from \"@mantine/core\";\nimport {\n  useBack,\n  useGo,\n  useMutationMode,\n  useRefineContext,\n  useUserFriendlyName,\n  useToPath,\n  useTranslate,\n  useResourceParams,\n} from \"@refinedev/core\";\nimport { IconArrowLeft } from \"@tabler/icons-react\";\nimport {\n  DeleteButton,\n  ListButton,\n  RefreshButton,\n  SaveButton,\n  Breadcrumb,\n  type ListButtonProps,\n  type RefreshButtonProps,\n  type DeleteButtonProps,\n  type SaveButtonProps,\n  AutoSaveIndicator,\n} from \"@components\";\nimport type { EditProps } from \"../types\";\nimport { RefinePageHeaderClassNames } from \"@refinedev/ui-types\";\n\nexport const Edit: React.FC<EditProps> = (props) => {\n  const {\n    children,\n    resource: resourceFromProps,\n    recordItemId,\n    deleteButtonProps: deleteButtonPropsFromProps,\n    mutationMode: mutationModeFromProps,\n    saveButtonProps: saveButtonPropsFromProps,\n    canDelete,\n    dataProviderName,\n    isLoading,\n    footerButtons: footerButtonsFromProps,\n    footerButtonProps,\n    headerButtons: headerButtonsFromProps,\n    headerButtonProps,\n    wrapperProps,\n    contentProps,\n    headerProps,\n    goBack: goBackFromProps,\n    breadcrumb: breadcrumbFromProps,\n    title,\n    autoSaveProps,\n  } = props;\n  const translate = useTranslate();\n  const {\n    options: { breadcrumb: globalBreadcrumb } = {},\n  } = useRefineContext();\n  const { mutationMode: mutationModeContext } = useMutationMode();\n  const mutationMode = mutationModeFromProps ?? mutationModeContext;\n\n  const back = useBack();\n  const go = useGo();\n  const getUserFriendlyName = useUserFriendlyName();\n\n  const {\n    resource,\n    identifier,\n    id: idFromParams,\n  } = useResourceParams({\n    resource: resourceFromProps,\n  });\n\n  const goListPath = useToPath({\n    resource,\n    action: \"list\",\n  });\n\n  const id = recordItemId ?? idFromParams;\n\n  const breadcrumb =\n    typeof breadcrumbFromProps === \"undefined\"\n      ? globalBreadcrumb\n      : breadcrumbFromProps;\n\n  const hasList = resource?.list && !recordItemId;\n\n  const isDeleteButtonVisible =\n    canDelete ?? (resource?.meta?.canDelete || deleteButtonPropsFromProps);\n\n  const breadcrumbComponent =\n    typeof breadcrumb !== \"undefined\" ? <>{breadcrumb}</> : <Breadcrumb />;\n\n  const loadingOverlayVisible =\n    isLoading ?? saveButtonPropsFromProps?.disabled ?? false;\n\n  const listButtonProps: ListButtonProps | undefined = hasList\n    ? {\n        ...(isLoading ? { disabled: true } : {}),\n        resource: identifier,\n      }\n    : undefined;\n\n  const refreshButtonProps: RefreshButtonProps = {\n    ...(isLoading ? { disabled: true } : {}),\n    resource: identifier,\n    recordItemId: id,\n    dataProviderName,\n  };\n\n  const deleteButtonProps: DeleteButtonProps | undefined = isDeleteButtonVisible\n    ? ({\n        ...(isLoading ? { disabled: true } : {}),\n        resource: identifier,\n        mutationMode,\n        onSuccess: () => {\n          go({ to: goListPath });\n        },\n        recordItemId: id,\n        dataProviderName,\n        ...deleteButtonPropsFromProps,\n      } as const)\n    : undefined;\n\n  const saveButtonProps: SaveButtonProps = {\n    ...(isLoading ? { disabled: true } : {}),\n    ...saveButtonPropsFromProps,\n  };\n\n  const defaultHeaderButtons = (\n    <>\n      {autoSaveProps && <AutoSaveIndicator {...autoSaveProps} />}\n      {hasList && <ListButton {...listButtonProps} />}\n      <RefreshButton {...refreshButtonProps} />\n    </>\n  );\n\n  const defaultFooterButtons = (\n    <>\n      {isDeleteButtonVisible && <DeleteButton {...deleteButtonProps} />}\n      <SaveButton {...saveButtonProps} />\n    </>\n  );\n\n  const buttonBack =\n    goBackFromProps === (false || null) ? null : (\n      <ActionIcon onClick={back}>\n        {typeof goBackFromProps !== \"undefined\" ? (\n          goBackFromProps\n        ) : (\n          <IconArrowLeft />\n        )}\n      </ActionIcon>\n    );\n\n  const headerButtons = headerButtonsFromProps\n    ? typeof headerButtonsFromProps === \"function\"\n      ? headerButtonsFromProps({\n          defaultButtons: defaultHeaderButtons,\n          listButtonProps,\n          refreshButtonProps,\n        })\n      : headerButtonsFromProps\n    : defaultHeaderButtons;\n\n  const footerButtons = footerButtonsFromProps\n    ? typeof footerButtonsFromProps === \"function\"\n      ? footerButtonsFromProps({\n          defaultButtons: defaultFooterButtons,\n          deleteButtonProps,\n          saveButtonProps,\n        })\n      : footerButtonsFromProps\n    : defaultFooterButtons;\n\n  return (\n    <Card p=\"md\" {...wrapperProps}>\n      <LoadingOverlay visible={loadingOverlayVisible} />\n      <Group position=\"apart\" {...headerProps}>\n        <Stack spacing=\"xs\">\n          {breadcrumbComponent}\n          <Group spacing=\"xs\">\n            {buttonBack}\n            {title ?? (\n              <Title\n                order={3}\n                transform=\"capitalize\"\n                className={RefinePageHeaderClassNames.Title}\n              >\n                {translate(\n                  `${identifier}.titles.edit`,\n                  `Edit ${getUserFriendlyName(\n                    resource?.meta?.label ?? identifier,\n                    \"singular\",\n                  )}`,\n                )}\n              </Title>\n            )}\n          </Group>\n        </Stack>\n        <Group spacing=\"xs\" {...headerButtonProps}>\n          {headerButtons}\n        </Group>\n      </Group>\n      <Box pt=\"sm\" {...contentProps}>\n        {children}\n      </Box>\n      <Group position=\"right\" spacing=\"xs\" mt=\"md\" {...footerButtonProps}>\n        {footerButtons}\n      </Group>\n    </Card>\n  );\n};\n","import React from \"react\";\nimport {\n  Box,\n  Card,\n  Group,\n  ActionIcon,\n  Stack,\n  Title,\n  LoadingOverlay,\n} from \"@mantine/core\";\nimport {\n  useBack,\n  useRefineContext,\n  useResourceParams,\n  useUserFriendlyName,\n  useTranslate,\n} from \"@refinedev/core\";\nimport { IconArrowLeft } from \"@tabler/icons-react\";\nimport { SaveButton, Breadcrumb, type SaveButtonProps } from \"@components\";\nimport type { CreateProps } from \"../types\";\nimport { RefinePageHeaderClassNames } from \"@refinedev/ui-types\";\n\nexport const Create: React.FC<CreateProps> = (props) => {\n  const {\n    children,\n    saveButtonProps: saveButtonPropsFromProps,\n    isLoading,\n    resource: resourceFromProps,\n    footerButtons: footerButtonsFromProps,\n    footerButtonProps,\n    headerButtons: headerButtonsFromProps,\n    headerButtonProps,\n    wrapperProps,\n    contentProps,\n    headerProps,\n    goBack: goBackFromProps,\n    breadcrumb: breadcrumbFromProps,\n    title,\n  } = props;\n  const translate = useTranslate();\n  const {\n    options: { breadcrumb: globalBreadcrumb } = {},\n  } = useRefineContext();\n\n  const back = useBack();\n  const getUserFriendlyName = useUserFriendlyName();\n\n  const { resource, identifier } = useResourceParams({\n    resource: resourceFromProps,\n  });\n\n  const breadcrumb =\n    typeof breadcrumbFromProps === \"undefined\"\n      ? globalBreadcrumb\n      : breadcrumbFromProps;\n\n  const breadcrumbComponent =\n    typeof breadcrumb !== \"undefined\" ? <>{breadcrumb}</> : <Breadcrumb />;\n\n  const saveButtonProps: SaveButtonProps = {\n    ...(isLoading ? { disabled: true } : {}),\n    ...saveButtonPropsFromProps,\n  };\n\n  const loadingOverlayVisible = isLoading ?? saveButtonProps?.disabled ?? false;\n\n  const defaultFooterButtons = <SaveButton {...saveButtonProps} />;\n\n  const buttonBack =\n    goBackFromProps === (false || null) ? null : (\n      <ActionIcon onClick={back}>\n        {typeof goBackFromProps !== \"undefined\" ? (\n          goBackFromProps\n        ) : (\n          <IconArrowLeft />\n        )}\n      </ActionIcon>\n    );\n\n  const headerButtons = headerButtonsFromProps\n    ? typeof headerButtonsFromProps === \"function\"\n      ? headerButtonsFromProps({\n          defaultButtons: null,\n        })\n      : headerButtonsFromProps\n    : null;\n\n  const footerButtons = footerButtonsFromProps\n    ? typeof footerButtonsFromProps === \"function\"\n      ? footerButtonsFromProps({\n          defaultButtons: defaultFooterButtons,\n          saveButtonProps,\n        })\n      : footerButtonsFromProps\n    : defaultFooterButtons;\n\n  return (\n    <Card p=\"md\" {...wrapperProps}>\n      <LoadingOverlay visible={loadingOverlayVisible} />\n      <Group position=\"apart\" align=\"center\" {...headerProps}>\n        <Stack spacing=\"xs\">\n          {breadcrumbComponent}\n          <Group spacing=\"xs\">\n            {buttonBack}\n            {title ?? (\n              <Title\n                order={3}\n                transform=\"capitalize\"\n                className={RefinePageHeaderClassNames.Title}\n              >\n                {translate(\n                  `${identifier}.titles.create`,\n                  `Create ${getUserFriendlyName(\n                    resource?.meta?.label ?? identifier,\n                    \"singular\",\n                  )}`,\n                )}\n              </Title>\n            )}\n          </Group>\n        </Stack>\n        <Group spacing=\"xs\" {...headerButtonProps}>\n          {headerButtons}\n        </Group>\n      </Group>\n      <Box pt=\"sm\" {...contentProps}>\n        {children}\n      </Box>\n      <Group position=\"right\" spacing=\"xs\" mt=\"md\" {...footerButtonProps}>\n        {footerButtons}\n      </Group>\n    </Card>\n  );\n};\n","import React, { useEffect, useState } from \"react\";\nimport type { RefineErrorPageProps } from \"@refinedev/ui-types\";\nimport { useTranslate, useGo, useResourceParams } from \"@refinedev/core\";\nimport {\n  Box,\n  Title,\n  Text,\n  Group,\n  Tooltip,\n  ActionIcon,\n  Button,\n  Space,\n} from \"@mantine/core\";\nimport { IconInfoCircle } from \"@tabler/icons-react\";\n\nexport const ErrorComponent: React.FC<RefineErrorPageProps> = () => {\n  const [errorMessage, setErrorMessage] = useState<string>();\n  const translate = useTranslate();\n  const go = useGo();\n\n  const { resource, action } = useResourceParams();\n\n  useEffect(() => {\n    if (resource && action) {\n      setErrorMessage(\n        translate(\n          \"pages.error.info\",\n          {\n            resource: resource?.name,\n          },\n          `You may have forgotten to add the \"${action}\" component to \"${resource?.name}\" resource.`,\n        ),\n      );\n    }\n  }, [resource, action]);\n\n  return (\n    <Box\n      sx={{\n        display: \"flex\",\n        flexDirection: \"column\",\n        justifyContent: \"center\",\n        alignItems: \"center\",\n        textAlign: \"center\",\n        boxSizing: \"border-box\",\n        minHeight: \"calc(100vh - 150px)\",\n      }}\n    >\n      <Title\n        sx={(theme) => ({\n          textAlign: \"center\",\n          fontWeight: 900,\n          fontSize: 220,\n          lineHeight: 1,\n          color:\n            theme.colorScheme === \"dark\"\n              ? theme.colors.dark[4]\n              : theme.colors.gray[2],\n\n          [theme.fn.smallerThan(\"sm\")]: {\n            fontSize: 120,\n          },\n        })}\n      >\n        404\n      </Title>\n      <Group spacing={4} align=\"center\" sx={{ justifyContent: \"center\" }}>\n        <Text color=\"dimmed\" size=\"lg\" align=\"center\" sx={{ maxWidth: 500 }}>\n          {translate(\n            \"pages.error.404\",\n            \"Sorry, the page you visited does not exist.\",\n          )}\n        </Text>\n        {errorMessage && (\n          <Tooltip openDelay={0} label={errorMessage}>\n            <ActionIcon data-testid=\"error-component-tooltip\">\n              <IconInfoCircle />\n            </ActionIcon>\n          </Tooltip>\n        )}\n      </Group>\n      <Space h=\"md\" />\n      <Button\n        variant=\"subtle\"\n        size=\"md\"\n        onClick={() => {\n          go({ to: \"/\" });\n        }}\n      >\n        {translate(\"pages.error.backHome\", \"Back Home\")}\n      </Button>\n    </Box>\n  );\n};\n","import React from \"react\";\nimport type { AuthPageProps } from \"@refinedev/core\";\nimport type { BoxProps, CardProps } from \"@mantine/core\";\nimport type { UseFormInput } from \"@mantine/form/lib/types\";\n\nimport {\n  LoginPage,\n  RegisterPage,\n  ForgotPasswordPage,\n  UpdatePasswordPage,\n} from \"./components\";\n\nexport type FormPropsType = UseFormInput<unknown> & {\n  onSubmit?: (values: any) => void;\n};\n\nexport type AuthProps = AuthPageProps<BoxProps, CardProps, FormPropsType>;\n\n/**\n * **refine** has a default auth page form served on the `/login` route when the `authProvider` configuration is provided.\n * @param title is not implemented yet.\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/mantine-auth-page/} for more details.\n */\nexport const AuthPage: React.FC<AuthProps> = (props) => {\n  const { type } = props;\n\n  const renderView = () => {\n    switch (type) {\n      case \"register\":\n        return <RegisterPage {...props} />;\n      case \"forgotPassword\":\n        return <ForgotPasswordPage {...props} />;\n      case \"updatePassword\":\n        return <UpdatePasswordPage {...props} />;\n      default:\n        return <LoginPage {...props} />;\n    }\n  };\n\n  return <>{renderView()}</>;\n};\n","import React from \"react\";\nimport {\n  type LoginPageProps,\n  type LoginFormTypes,\n  useLink,\n} from \"@refinedev/core\";\nimport { useLogin, useTranslate } from \"@refinedev/core\";\nimport {\n  Box,\n  Card,\n  Checkbox,\n  PasswordInput,\n  Space,\n  TextInput,\n  Title,\n  Anchor,\n  Button,\n  Text,\n  Divider,\n  Stack,\n  type BoxProps,\n  type CardProps,\n  useMantineTheme,\n} from \"@mantine/core\";\n\nimport { ThemedTitle } from \"@components\";\nimport { FormContext } from \"@contexts/form-context\";\nimport {\n  layoutStyles,\n  cardStyles,\n  titleStyles,\n  pageTitleStyles,\n} from \"../styles\";\nimport type { FormPropsType } from \"../..\";\n\ntype LoginProps = LoginPageProps<BoxProps, CardProps, FormPropsType>;\n\n/**\n * **refine** has a default login page form which is served on `/login` route when the `authProvider` configuration is provided.\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/mantine-auth-page/#login} for more details.\n */\nexport const LoginPage: React.FC<LoginProps> = ({\n  providers,\n  registerLink,\n  forgotPasswordLink,\n  rememberMe,\n  contentProps,\n  wrapperProps,\n  renderContent,\n  formProps,\n  title,\n  hideForm,\n  mutationVariables,\n}) => {\n  const theme = useMantineTheme();\n  const { useForm, FormProvider } = FormContext;\n  const { onSubmit: onSubmitProp, ...useFormProps } = formProps || {};\n  const translate = useTranslate();\n  const Link = useLink();\n\n  const form = useForm({\n    initialValues: {\n      email: \"\",\n      password: \"\",\n      remember: false,\n    },\n    validate: {\n      email: (value: any) =>\n        /^\\S+@\\S+$/.test(value)\n          ? null\n          : translate(\"pages.login.errors.validEmail\", \"Invalid email address\"),\n      password: (value: any) => value === \"\",\n    },\n    ...useFormProps,\n  });\n  const { onSubmit, getInputProps } = form;\n\n  const { mutate: login, isPending } = useLogin<LoginFormTypes>({});\n\n  const PageTitle =\n    title === false ? null : (\n      <div style={pageTitleStyles}>\n        {title ?? <ThemedTitle collapsed={false} />}\n      </div>\n    );\n\n  const renderProviders = () => {\n    if (providers && providers.length > 0) {\n      return (\n        <>\n          <Stack spacing={8}>\n            {providers.map((provider) => {\n              return (\n                <Button\n                  key={provider.name}\n                  variant=\"default\"\n                  fullWidth\n                  leftIcon={provider.icon}\n                  onClick={() =>\n                    login({\n                      ...mutationVariables,\n                      providerName: provider.name,\n                    })\n                  }\n                >\n                  {provider.label}\n                </Button>\n              );\n            })}\n          </Stack>\n          {!hideForm && (\n            <Divider\n              my=\"md\"\n              labelPosition=\"center\"\n              label={translate(\"pages.login.divider\", \"or\")}\n            />\n          )}\n        </>\n      );\n    }\n    return null;\n  };\n\n  const CardContent = (\n    <Card style={cardStyles} {...(contentProps ?? {})}>\n      <Title\n        style={titleStyles}\n        color={theme.colorScheme === \"dark\" ? \"brand.5\" : \"brand.8\"}\n      >\n        {translate(\"pages.login.title\", \"Sign in to your account\")}\n      </Title>\n      <Space h=\"sm\" />\n      <Space h=\"lg\" />\n      {renderProviders()}\n      {!hideForm && (\n        <FormProvider form={form}>\n          <form\n            onSubmit={onSubmit((values: any) => {\n              if (onSubmitProp) {\n                return onSubmitProp(values);\n              }\n              return login({ ...mutationVariables, ...values });\n            })}\n          >\n            <TextInput\n              name=\"email\"\n              label={translate(\"pages.login.fields.email\", \"Email\")}\n              placeholder={translate(\"pages.login.fields.email\", \"Email\")}\n              {...getInputProps(\"email\")}\n            />\n            <PasswordInput\n              name=\"password\"\n              autoComplete=\"current-password\"\n              mt=\"md\"\n              label={translate(\"pages.login.fields.password\", \"Password\")}\n              placeholder=\"●●●●●●●●\"\n              {...getInputProps(\"password\")}\n            />\n            <Box\n              mt=\"md\"\n              sx={{\n                display: \"flex\",\n                alignItems: \"center\",\n                justifyContent: \"space-between\",\n              }}\n            >\n              {rememberMe ?? (\n                <Checkbox\n                  label={translate(\n                    \"pages.login.buttons.rememberMe\",\n                    \"Remember me\",\n                  )}\n                  size=\"xs\"\n                  {...getInputProps(\"remember\", {\n                    type: \"checkbox\",\n                  })}\n                />\n              )}\n              {forgotPasswordLink ?? (\n                <Anchor component={Link as any} to=\"/forgot-password\" size=\"xs\">\n                  {translate(\n                    \"pages.login.buttons.forgotPassword\",\n                    \"Forgot password?\",\n                  )}\n                </Anchor>\n              )}\n            </Box>\n            <Button\n              mt=\"md\"\n              fullWidth\n              size=\"md\"\n              type=\"submit\"\n              loading={isPending}\n            >\n              {translate(\"pages.login.signin\", \"Sign in\")}\n            </Button>\n          </form>\n        </FormProvider>\n      )}\n      {registerLink ?? (\n        <Text mt=\"md\" size=\"xs\" align=\"center\">\n          {translate(\"pages.login.buttons.noAccount\", \"Don’t have an account?\")}{\" \"}\n          <Anchor component={Link as any} to=\"/register\" weight={700}>\n            {translate(\"pages.login.signup\", \"Sign up\")}\n          </Anchor>\n        </Text>\n      )}\n    </Card>\n  );\n\n  return (\n    <Box\n      style={{\n        ...layoutStyles,\n        justifyContent: hideForm ? \"flex-start\" : layoutStyles.justifyContent,\n        paddingTop: hideForm ? \"15dvh\" : layoutStyles.padding,\n      }}\n      {...(wrapperProps ?? {})}\n    >\n      {renderContent ? (\n        renderContent(CardContent, PageTitle)\n      ) : (\n        <>\n          {PageTitle}\n          {CardContent}\n        </>\n      )}\n    </Box>\n  );\n};\n","import { createFormContext } from \"@mantine/form\";\n\nconst [FormProvider, useFormContext, useForm] = createFormContext<unknown>();\n\nexport const FormContext = { FormProvider, useFormContext, useForm };\n","import type { CSSProperties } from \"react\";\n\nexport const layoutStyles: CSSProperties = {\n  display: \"flex\",\n  flexDirection: \"column\",\n  alignItems: \"center\",\n  justifyContent: \"center\",\n  minHeight: \"100dvh\",\n  padding: \"16px\",\n};\n\nexport const cardStyles: CSSProperties = {\n  width: \"100%\",\n  maxWidth: \"400px\",\n  padding: \"32px\",\n  boxShadow:\n    \"0px 17px 17px -7px rgba(0, 0, 0, 0.16), 0px 36px 28px -7px rgba(0, 0, 0, 0.2), 0px 1px 3px rgba(0, 0, 0, 0.2)\",\n};\n\nexport const titleStyles: CSSProperties = {\n  textAlign: \"center\",\n  fontSize: \"26px\",\n  fontWeight: 700,\n};\n\nexport const pageTitleStyles: CSSProperties = {\n  display: \"flex\",\n  justifyContent: \"center\",\n  marginBottom: \"32px\",\n  fontSize: \"22px\",\n  fontWeight: 700,\n};\n","import React from \"react\";\nimport type { RegisterPageProps, RegisterFormTypes } from \"@refinedev/core\";\nimport { useTranslate, useLink, useRegister } from \"@refinedev/core\";\nimport {\n  Box,\n  Card,\n  PasswordInput,\n  Space,\n  TextInput,\n  Title,\n  Anchor,\n  Button,\n  Text,\n  type BoxProps,\n  type CardProps,\n  Group,\n  Stack,\n  Divider,\n  useMantineTheme,\n} from \"@mantine/core\";\n\nimport { ThemedTitle } from \"@components\";\nimport { FormContext } from \"@contexts/form-context\";\nimport {\n  layoutStyles,\n  cardStyles,\n  titleStyles,\n  pageTitleStyles,\n} from \"../styles\";\nimport type { FormPropsType } from \"../..\";\n\ntype RegisterProps = RegisterPageProps<BoxProps, CardProps, FormPropsType>;\n\n/**\n * The register page will be used to register new users. You can use the following props for the <AuthPage> component when the type is \"register\".\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/mantine-auth-page/#register} for more details.\n */\nexport const RegisterPage: React.FC<RegisterProps> = ({\n  loginLink,\n  contentProps,\n  wrapperProps,\n  renderContent,\n  formProps,\n  providers,\n  title,\n  hideForm,\n  mutationVariables,\n}) => {\n  const theme = useMantineTheme();\n  const { useForm, FormProvider } = FormContext;\n  const { onSubmit: onSubmitProp, ...useFormProps } = formProps || {};\n  const translate = useTranslate();\n  const Link = useLink();\n\n  const form = useForm({\n    initialValues: {\n      email: \"\",\n      password: \"\",\n    },\n    validate: {\n      email: (value: any) =>\n        /^\\S+@\\S+$/.test(value)\n          ? null\n          : translate(\n              \"pages.register.errors.validEmail\",\n              \"Invalid email address\",\n            ),\n      password: (value: any) => value === \"\",\n    },\n    ...useFormProps,\n  });\n  const { onSubmit, getInputProps } = form;\n\n  const { mutate: register, isPending } = useRegister<RegisterFormTypes>({});\n\n  const PageTitle =\n    title === false ? null : (\n      <div style={pageTitleStyles}>\n        {title ?? <ThemedTitle collapsed={false} />}\n      </div>\n    );\n\n  const renderProviders = () => {\n    if (providers && providers.length > 0) {\n      return (\n        <>\n          <Stack spacing={8}>\n            {providers.map((provider) => {\n              return (\n                <Button\n                  key={provider.name}\n                  variant=\"default\"\n                  fullWidth\n                  leftIcon={provider.icon}\n                  onClick={() =>\n                    register({\n                      ...mutationVariables,\n                      providerName: provider.name,\n                    })\n                  }\n                >\n                  {provider.label}\n                </Button>\n              );\n            })}\n          </Stack>\n          {!hideForm && (\n            <Divider\n              my=\"md\"\n              labelPosition=\"center\"\n              label={translate(\n                \"pages.register.divider\",\n                translate(\"pages.login.divider\", \"or\"),\n              )}\n            />\n          )}\n        </>\n      );\n    }\n    return null;\n  };\n\n  const CardContent = (\n    <Card style={cardStyles} {...(contentProps ?? {})}>\n      <Title\n        style={titleStyles}\n        color={theme.colorScheme === \"dark\" ? \"brand.5\" : \"brand.8\"}\n      >\n        {translate(\"pages.register.title\", \"Sign up for your account\")}\n      </Title>\n      <Space h=\"sm\" />\n      <Space h=\"lg\" />\n      {renderProviders()}\n      {!hideForm && (\n        <FormProvider form={form}>\n          <form\n            onSubmit={onSubmit((values: any) => {\n              if (onSubmitProp) {\n                return onSubmitProp(values);\n              }\n              return register({ ...mutationVariables, ...values });\n            })}\n          >\n            <TextInput\n              name=\"email\"\n              label={translate(\"pages.register.fields.email\", \"Email\")}\n              placeholder={translate(\"pages.register.fields.email\", \"Email\")}\n              {...getInputProps(\"email\")}\n            />\n            <PasswordInput\n              mt=\"md\"\n              name=\"password\"\n              label={translate(\"pages.register.fields.password\", \"Password\")}\n              placeholder=\"●●●●●●●●\"\n              {...getInputProps(\"password\")}\n            />\n            <Button\n              mt=\"md\"\n              fullWidth\n              size=\"md\"\n              type=\"submit\"\n              loading={isPending}\n            >\n              {translate(\"pages.register.buttons.submit\", \"Sign up\")}\n            </Button>\n          </form>\n        </FormProvider>\n      )}\n      {loginLink ?? (\n        <Group mt=\"md\" position=\"center\">\n          <Text size=\"xs\">\n            {translate(\n              \"pages.register.buttons.haveAccount\",\n              \"Have an account?\",\n            )}{\" \"}\n            <Anchor component={Link as any} to=\"/login\" weight={700}>\n              {translate(\"pages.register.signin\", \"Sign in\")}\n            </Anchor>\n          </Text>\n        </Group>\n      )}\n    </Card>\n  );\n\n  return (\n    <Box\n      style={{\n        ...layoutStyles,\n        justifyContent: hideForm ? \"flex-start\" : layoutStyles.justifyContent,\n        paddingTop: hideForm ? \"15dvh\" : layoutStyles.padding,\n      }}\n      {...(wrapperProps ?? {})}\n    >\n      {renderContent ? (\n        renderContent(CardContent, PageTitle)\n      ) : (\n        <>\n          {PageTitle}\n          {CardContent}\n        </>\n      )}\n    </Box>\n  );\n};\n","import React from \"react\";\nimport {\n  type ForgotPasswordPageProps,\n  type ForgotPasswordFormTypes,\n  useLink,\n} from \"@refinedev/core\";\nimport { useTranslate, useForgotPassword } from \"@refinedev/core\";\nimport {\n  Box,\n  Card,\n  Space,\n  TextInput,\n  Title,\n  Anchor,\n  Button,\n  Text,\n  type BoxProps,\n  type CardProps,\n  Group,\n  useMantineTheme,\n} from \"@mantine/core\";\n\nimport { ThemedTitle } from \"@components\";\nimport { FormContext } from \"@contexts/form-context\";\nimport {\n  layoutStyles,\n  cardStyles,\n  titleStyles,\n  pageTitleStyles,\n} from \"../styles\";\nimport type { FormPropsType } from \"../..\";\n\ntype ResetPassworProps = ForgotPasswordPageProps<\n  BoxProps,\n  CardProps,\n  FormPropsType\n>;\n\n/**\n * The forgotPassword type is a page that allows users to reset their passwords. You can use this page to reset your password.\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/mantine-auth-page/#forgot-password} for more details.\n */\nexport const ForgotPasswordPage: React.FC<ResetPassworProps> = ({\n  loginLink,\n  contentProps,\n  wrapperProps,\n  renderContent,\n  formProps,\n  title,\n  mutationVariables,\n}) => {\n  const theme = useMantineTheme();\n  const { useForm, FormProvider } = FormContext;\n  const { onSubmit: onSubmitProp, ...useFormProps } = formProps || {};\n  const translate = useTranslate();\n  const Link = useLink();\n\n  const form = useForm({\n    initialValues: {\n      email: \"\",\n    },\n    validate: {\n      email: (value: any) =>\n        /^\\S+@\\S+$/.test(value)\n          ? null\n          : translate(\n              \"pages.forgotPassword.errors.validEmail\",\n              \"Invalid email address\",\n            ),\n    },\n    ...useFormProps,\n  });\n  const { getInputProps, onSubmit } = form;\n\n  const { mutate: forgotPassword, isPending } =\n    useForgotPassword<ForgotPasswordFormTypes>();\n\n  const PageTitle =\n    title === false ? null : (\n      <div style={pageTitleStyles}>\n        {title ?? <ThemedTitle collapsed={false} />}\n      </div>\n    );\n\n  const CardContent = (\n    <Card style={cardStyles} {...(contentProps ?? {})}>\n      <Title\n        style={titleStyles}\n        color={theme.colorScheme === \"dark\" ? \"brand.5\" : \"brand.8\"}\n      >\n        {translate(\"pages.forgotPassword.title\", \"Forgot your password?\")}\n      </Title>\n      <Space h=\"lg\" />\n      <FormProvider form={form}>\n        <form\n          onSubmit={onSubmit((values: any) => {\n            if (onSubmitProp) {\n              return onSubmitProp(values);\n            }\n            return forgotPassword({ ...mutationVariables, ...values });\n          })}\n        >\n          <TextInput\n            name=\"email\"\n            label={translate(\"pages.forgotPassword.fields.email\", \"Email\")}\n            placeholder={translate(\n              \"pages.forgotPassword.fields.email\",\n              \"Email\",\n            )}\n            {...getInputProps(\"email\")}\n          />\n\n          {loginLink ?? (\n            <Group mt=\"md\" position={loginLink ? \"left\" : \"right\"}>\n              <Text size=\"xs\">\n                {translate(\n                  \"pages.forgotPassword.buttons.haveAccount\",\n                  translate(\n                    \"pages.login.forgotPassword.haveAccount\",\n                    \"Have an account? \",\n                  ),\n                )}{\" \"}\n                <Anchor component={Link as any} to=\"/login\" weight={700}>\n                  {translate(\"pages.forgotPassword.signin\", \"Sign in\")}\n                </Anchor>\n              </Text>\n            </Group>\n          )}\n          <Button mt=\"lg\" fullWidth size=\"md\" type=\"submit\" loading={isPending}>\n            {translate(\n              \"pages.forgotPassword.buttons.submit\",\n              \"Send reset instructions\",\n            )}\n          </Button>\n        </form>\n      </FormProvider>\n    </Card>\n  );\n\n  return (\n    <Box style={layoutStyles} {...(wrapperProps ?? {})}>\n      {renderContent ? (\n        renderContent(CardContent, PageTitle)\n      ) : (\n        <>\n          {PageTitle}\n          {CardContent}\n        </>\n      )}\n    </Box>\n  );\n};\n","import React from \"react\";\nimport type {\n  UpdatePasswordPageProps,\n  UpdatePasswordFormTypes,\n} from \"@refinedev/core\";\nimport { useUpdatePassword, useTranslate } from \"@refinedev/core\";\nimport {\n  Box,\n  Card,\n  Space,\n  TextInput,\n  Title,\n  Button,\n  type BoxProps,\n  type CardProps,\n  useMantineTheme,\n} from \"@mantine/core\";\n\nimport { FormContext } from \"@contexts/form-context\";\nimport {\n  layoutStyles,\n  cardStyles,\n  titleStyles,\n  pageTitleStyles,\n} from \"../styles\";\nimport type { FormPropsType } from \"../..\";\nimport { ThemedTitle } from \"@components\";\n\ntype UpdatePassworProps = UpdatePasswordPageProps<\n  BoxProps,\n  CardProps,\n  FormPropsType\n>;\n\n/**\n * The updatePassword type is the page used to update the password of the user.\n * @see {@link https://refine.dev/docs/api-reference/mantine/components/mantine-auth-page/#update-password} for more details.\n */\nexport const UpdatePasswordPage: React.FC<UpdatePassworProps> = ({\n  contentProps,\n  wrapperProps,\n  renderContent,\n  formProps,\n  title,\n  mutationVariables,\n}) => {\n  const theme = useMantineTheme();\n  const { useForm, FormProvider } = FormContext;\n  const { onSubmit: onSubmitProp, ...useFormProps } = formProps || {};\n  const translate = useTranslate();\n\n  const form = useForm({\n    initialValues: {\n      password: \"\",\n      confirmPassword: \"\",\n    },\n    validate: {\n      password: (value: any) => value === \"\",\n      confirmPassword: (value: any, values: any) =>\n        value !== values.password\n          ? translate(\n              \"pages.updatePassword.errors.confirmPasswordNotMatch\",\n              \"Passwords do not match\",\n            )\n          : null,\n    },\n    ...useFormProps,\n  });\n  const { getInputProps, onSubmit } = form;\n\n  const { mutate: updatePassword, isPending } =\n    useUpdatePassword<UpdatePasswordFormTypes>({});\n\n  const PageTitle =\n    title === false ? null : (\n      <div style={pageTitleStyles}>\n        {title ?? <ThemedTitle collapsed={false} />}\n      </div>\n    );\n\n  const CardContent = (\n    <Card style={cardStyles} {...(contentProps ?? {})}>\n      <Title\n        style={titleStyles}\n        color={theme.colorScheme === \"dark\" ? \"brand.5\" : \"brand.8\"}\n      >\n        {translate(\"pages.updatePassword.title\", \"Set New Password\")}\n      </Title>\n      <Space h=\"lg\" />\n      <FormProvider form={form}>\n        <form\n          onSubmit={onSubmit((values: any) => {\n            if (onSubmitProp) {\n              return onSubmitProp(values);\n            }\n            return updatePassword({ ...mutationVariables, ...values });\n          })}\n        >\n          <TextInput\n            name=\"password\"\n            type=\"password\"\n            label={translate(\n              \"pages.updatePassword.fields.password\",\n              \"New Password\",\n            )}\n            placeholder=\"●●●●●●●●\"\n            {...getInputProps(\"password\")}\n          />\n          <TextInput\n            mt=\"md\"\n            name=\"confirmPassword\"\n            type=\"password\"\n            label={translate(\n              \"pages.updatePassword.fields.confirmPassword\",\n              \"Confirm New Password\",\n            )}\n            placeholder=\"●●●●●●●●\"\n            {...getInputProps(\"confirmPassword\")}\n          />\n          <Button mt=\"lg\" fullWidth size=\"md\" type=\"submit\" loading={isPending}>\n            {translate(\"pages.updatePassword.buttons.submit\", \"Update\")}\n          </Button>\n        </form>\n      </FormProvider>\n    </Card>\n  );\n\n  return (\n    <Box style={layoutStyles} {...(wrapperProps ?? {})}>\n      {renderContent ? (\n        renderContent(CardContent, PageTitle)\n      ) : (\n        <>\n          {PageTitle}\n          {CardContent}\n        </>\n      )}\n    </Box>\n  );\n};\n","import React from \"react\";\nimport {\n  matchResourceFromRoute,\n  useBreadcrumb,\n  useLink,\n  useResourceParams,\n} from \"@refinedev/core\";\nimport type { RefineBreadcrumbProps } from \"@refinedev/ui-types\";\n\nimport {\n  Text,\n  Breadcrumbs,\n  type BreadcrumbsProps as MantineBreadcrumbProps,\n  Anchor,\n  Group,\n} from \"@mantine/core\";\nimport { IconHome } from \"@tabler/icons-react\";\n\nexport type BreadcrumbProps = RefineBreadcrumbProps<MantineBreadcrumbProps>;\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = ({\n  breadcrumbProps,\n  showHome = true,\n  hideIcons = false,\n  meta,\n  minItems = 2,\n}) => {\n  const { breadcrumbs } = useBreadcrumb({ meta });\n  const Link = useLink();\n\n  const { resources } = useResourceParams();\n\n  const rootRouteResource = matchResourceFromRoute(\"/\", resources);\n\n  if (breadcrumbs.length < minItems) return null;\n\n  return (\n    <Breadcrumbs\n      aria-label=\"breadcrumb\"\n      styles={{\n        separator: { marginRight: 8, marginLeft: 8, color: \"dimgray\" },\n      }}\n      {...breadcrumbProps}\n    >\n      {showHome && rootRouteResource.found && (\n        <Anchor component={Link as any} color=\"dimmed\" to=\"/\">\n          {rootRouteResource?.resource?.meta?.icon ?? <IconHome size={18} />}\n        </Anchor>\n      )}\n      {breadcrumbs.map(({ label, icon, href }) => {\n        return (\n          <Group key={label} spacing={4} align=\"center\" noWrap>\n            {!hideIcons && icon}\n            {href ? (\n              <Anchor\n                component={Link as any}\n                color=\"dimmed\"\n                to={href}\n                size=\"sm\"\n              >\n                {label}\n              </Anchor>\n            ) : (\n              <Text color=\"dimmed\" size=\"sm\">\n                {label}\n              </Text>\n            )}\n          </Group>\n        );\n      })}\n    </Breadcrumbs>\n  );\n};\n","import React from \"react\";\nimport { Box } from \"@mantine/core\";\n\nimport type { RefineThemedLayoutProps } from \"./types\";\nimport { ThemedSider as DefaultSider } from \"./sider\";\nimport { ThemedHeader as DefaultHeader } from \"./header\";\nimport { ThemedLayoutContextProvider } from \"../../contexts\";\n\nexport const ThemedLayout: React.FC<RefineThemedLayoutProps> = ({\n  Sider,\n  Header,\n  Title,\n  Footer,\n  OffLayoutArea,\n  initialSiderCollapsed,\n  children,\n  onSiderCollapsed,\n}) => {\n  const SiderToRender = Sider ?? DefaultSider;\n  const HeaderToRender = Header ?? DefaultHeader;\n\n  return (\n    <ThemedLayoutContextProvider\n      initialSiderCollapsed={initialSiderCollapsed}\n      onSiderCollapsed={onSiderCollapsed}\n    >\n      <Box sx={{ display: \"flex\" }}>\n        <SiderToRender Title={Title} />\n        <Box\n          sx={{\n            display: \"flex\",\n            flexDirection: \"column\",\n            flex: 1,\n          }}\n        >\n          <HeaderToRender />\n          <Box\n            component=\"main\"\n            sx={(theme) => ({\n              padding: theme.spacing.sm,\n            })}\n          >\n            {children}\n          </Box>\n          {Footer && <Footer />}\n        </Box>\n        {OffLayoutArea && <OffLayoutArea />}\n      </Box>\n    </ThemedLayoutContextProvider>\n  );\n};\n","import React, { useCallback, type CSSProperties } from \"react\";\nimport {\n  CanAccess,\n  useIsExistAuthentication,\n  useLink,\n  useLogout,\n  useMenu,\n  useActiveAuthProvider,\n  useRefineContext,\n  useTranslate,\n  useWarnAboutChange,\n} from \"@refinedev/core\";\nimport {\n  Box,\n  Drawer,\n  Navbar,\n  NavLink,\n  type NavLinkStylesNames,\n  type NavLinkStylesParams,\n  ScrollArea,\n  MediaQuery,\n  Tooltip,\n  type TooltipProps,\n  type Styles,\n  useMantineTheme,\n  Flex,\n} from \"@mantine/core\";\nimport { IconList, IconPower, IconDashboard } from \"@tabler/icons-react\";\n\nimport { ThemedTitle as DefaultTitle } from \"@components\";\nimport { useThemedLayoutContext } from \"@hooks\";\n\nimport type { RefineThemedLayoutSiderProps } from \"../types\";\n\nconst defaultNavIcon = <IconList size={20} />;\n\nexport const ThemedSider: React.FC<RefineThemedLayoutSiderProps> = ({\n  render,\n  meta,\n  Title: TitleFromProps,\n  activeItemDisabled = false,\n  siderItemsAreCollapsed = true,\n}) => {\n  const theme = useMantineTheme();\n  const { siderCollapsed, mobileSiderOpen, setMobileSiderOpen } =\n    useThemedLayoutContext();\n\n  const Link = useLink();\n\n  const { defaultOpenKeys, menuItems, selectedKey } = useMenu({ meta });\n  const isExistAuthentication = useIsExistAuthentication();\n  const t = useTranslate();\n  const authProvider = useActiveAuthProvider();\n  const { warnWhen, setWarnWhen } = useWarnAboutChange();\n  const { mutate: mutateLogout } = useLogout();\n\n  const RenderToTitle = TitleFromProps ?? DefaultTitle;\n\n  const drawerWidth = () => {\n    if (siderCollapsed) return 80;\n    return 200;\n  };\n\n  const borderColor =\n    theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[2];\n\n  const commonNavLinkStyles: Styles<NavLinkStylesNames, NavLinkStylesParams> = {\n    root: {\n      display: \"flex\",\n      marginTop: \"12px\",\n      justifyContent:\n        siderCollapsed && !mobileSiderOpen ? \"center\" : \"flex-start\",\n    },\n    icon: {\n      marginRight: siderCollapsed && !mobileSiderOpen ? 0 : 12,\n    },\n    body: {\n      display: siderCollapsed && !mobileSiderOpen ? \"none\" : \"flex\",\n    },\n  };\n\n  const commonTooltipProps: Partial<TooltipProps> = {\n    disabled: !siderCollapsed || mobileSiderOpen,\n    position: \"right\",\n    withinPortal: true,\n    withArrow: true,\n    arrowSize: 8,\n    arrowOffset: 12,\n    offset: 4,\n  };\n\n  const getDefaultExpandMenuItemsCB = (key?: string) => {\n    const defaultOpened = defaultOpenKeys.includes(key || \"\");\n\n    if (siderItemsAreCollapsed) return defaultOpened;\n\n    return true;\n  };\n  const getDefaultExpandMenuItems = useCallback(\n    getDefaultExpandMenuItemsCB,\n    [],\n  );\n\n  const renderTreeView = (tree: any[], selectedKey?: string) => {\n    return tree.map((item) => {\n      const { icon, label, route, name, children } = item;\n\n      const isSelected = item.key === selectedKey;\n      const isParent = children.length > 0;\n\n      const additionalLinkProps = isParent\n        ? {}\n        : { component: Link as any, to: route };\n\n      const disablePointerStyle: CSSProperties =\n        activeItemDisabled && isSelected ? { pointerEvents: \"none\" } : {};\n\n      const defaultExpandMenuItems = getDefaultExpandMenuItems(item.key);\n\n      return (\n        <CanAccess\n          key={item.key}\n          resource={name}\n          action=\"list\"\n          params={{\n            resource: item,\n          }}\n        >\n          <Tooltip label={label} {...commonTooltipProps}>\n            <NavLink\n              key={item.key}\n              label={siderCollapsed && !mobileSiderOpen ? null : label}\n              icon={icon ?? defaultNavIcon}\n              active={isSelected}\n              childrenOffset={siderCollapsed && !mobileSiderOpen ? 0 : 12}\n              defaultOpened={defaultExpandMenuItems}\n              pl={siderCollapsed || mobileSiderOpen ? \"12px\" : \"18px\"}\n              styles={commonNavLinkStyles}\n              style={disablePointerStyle}\n              {...additionalLinkProps}\n            >\n              {isParent && renderTreeView(children, selectedKey)}\n            </NavLink>\n          </Tooltip>\n        </CanAccess>\n      );\n    });\n  };\n\n  const items = renderTreeView(menuItems, selectedKey);\n\n  const handleLogout = () => {\n    if (warnWhen) {\n      const confirm = window.confirm(\n        t(\n          \"warnWhenUnsavedChanges\",\n          \"Are you sure you want to leave? You have unsaved changes.\",\n        ),\n      );\n\n      if (confirm) {\n        setWarnWhen(false);\n        mutateLogout();\n      }\n    } else {\n      mutateLogout();\n    }\n  };\n\n  const logout = isExistAuthentication && (\n    <Tooltip label={t(\"buttons.logout\", \"Logout\")} {...commonTooltipProps}>\n      <NavLink\n        key=\"logout\"\n        label={\n          siderCollapsed && !mobileSiderOpen\n            ? null\n            : t(\"buttons.logout\", \"Logout\")\n        }\n        icon={<IconPower size={20} />}\n        pl={siderCollapsed || mobileSiderOpen ? \"12px\" : \"18px\"}\n        onClick={handleLogout}\n        styles={commonNavLinkStyles}\n      />\n    </Tooltip>\n  );\n\n  const renderSider = () => {\n    if (render) {\n      return render({\n        logout,\n        items,\n        collapsed: siderCollapsed,\n      });\n    }\n    return (\n      <>\n        {items}\n        {logout}\n      </>\n    );\n  };\n\n  return (\n    <>\n      <MediaQuery largerThan=\"md\" styles={{ display: \"none\" }}>\n        <Drawer\n          opened={mobileSiderOpen}\n          onClose={() => setMobileSiderOpen(false)}\n          size={200}\n          zIndex={1200}\n          withCloseButton={false}\n          styles={{\n            drawer: {\n              overflow: \"hidden\",\n            },\n          }}\n        >\n          <Navbar.Section\n            pl={8}\n            sx={{\n              height: \"64px\",\n              display: \"flex\",\n              alignItems: \"center\",\n              paddingLeft: \"10px\",\n              borderBottom: `1px solid ${borderColor}`,\n            }}\n          >\n            <RenderToTitle collapsed={false} />\n          </Navbar.Section>\n          <Navbar.Section component={ScrollArea} grow mx=\"-xs\" px=\"xs\">\n            {renderSider()}\n          </Navbar.Section>\n        </Drawer>\n      </MediaQuery>\n\n      <MediaQuery smallerThan=\"md\" styles={{ display: \"none\" }}>\n        <Box\n          sx={{\n            width: drawerWidth(),\n            transition: \"width 200ms ease, min-width 200ms ease\",\n            flexShrink: 0,\n          }}\n        />\n      </MediaQuery>\n\n      <MediaQuery smallerThan=\"md\" styles={{ display: \"none\" }}>\n        <Navbar\n          width={{ base: drawerWidth() }}\n          sx={{\n            overflow: \"hidden\",\n            transition: \"width 200ms ease, min-width 200ms ease\",\n            position: \"fixed\",\n            top: 0,\n            height: \"100vh\",\n            borderRight: 0,\n            zIndex: 199,\n          }}\n        >\n          <Flex\n            h=\"64px\"\n            pl={siderCollapsed ? 0 : \"16px\"}\n            align=\"center\"\n            justify={siderCollapsed ? \"center\" : \"flex-start\"}\n            sx={{\n              borderBottom: `1px solid ${borderColor}`,\n            }}\n          >\n            <RenderToTitle collapsed={siderCollapsed} />\n          </Flex>\n          <Navbar.Section\n            grow\n            component={ScrollArea}\n            mx=\"-xs\"\n            px=\"xs\"\n            sx={{\n              \".mantine-ScrollArea-viewport\": {\n                borderRight: `1px solid ${borderColor}`,\n                borderBottom: `1px solid ${borderColor}`,\n              },\n            }}\n          >\n            {renderSider()}\n          </Navbar.Section>\n        </Navbar>\n      </MediaQuery>\n    </>\n  );\n};\n","import React, { useEffect } from \"react\";\nimport {\n  useForm as useMantineForm,\n  type UseFormReturnType as UseMantineFormReturnType,\n} from \"@mantine/form\";\nimport get from \"lodash/get\";\nimport has from \"lodash/has\";\nimport set from \"lodash/set\";\nimport type { UseFormInput } from \"@mantine/form/lib/types\";\nimport {\n  type BaseRecord,\n  type HttpError,\n  useForm as useFormCore,\n  useWarnAboutChange,\n  type UseFormProps as UseFormCoreProps,\n  type UseFormReturnType as UseFormReturnTypeCore,\n  useTranslate,\n  useRefineContext,\n  flattenObjectKeys,\n} from \"@refinedev/core\";\n\ntype FormVariableType<TVariables, TTransformed> = ReturnType<\n  NonNullable<\n    UseFormInput<\n      TVariables,\n      (values: TVariables) => TTransformed\n    >[\"transformValues\"]\n  >\n>;\n\nexport type UseFormReturnType<\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n> = UseMantineFormReturnType<\n  TVariables,\n  (values: TVariables) => TTransformed\n> & {\n  refineCore: UseFormReturnTypeCore<\n    TQueryFnData,\n    TError,\n    FormVariableType<TVariables, TTransformed>,\n    TData,\n    TResponse,\n    TResponseError\n  >;\n  saveButtonProps: {\n    disabled: boolean;\n    onClick: (e: React.PointerEvent<HTMLButtonElement>) => void;\n  };\n};\n\nexport type UseFormProps<\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n> = {\n  refineCoreProps?: UseFormCoreProps<\n    TQueryFnData,\n    TError,\n    FormVariableType<TVariables, TTransformed>,\n    TData,\n    TResponse,\n    TResponseError\n  > & {\n    warnWhenUnsavedChanges?: boolean;\n  };\n} & UseFormInput<TVariables, (values: TVariables) => TTransformed> & {\n    /**\n     * Disables server-side validation\n     * @default false\n     * @see {@link https://refine.dev/docs/advanced-tutorials/forms/server-side-form-validation/}\n     */\n    disableServerSideValidation?: boolean;\n  };\n\nexport const useForm = <\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n>({\n  refineCoreProps,\n  disableServerSideValidation: disableServerSideValidationProp = false,\n  ...rest\n}: UseFormProps<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> = {}): UseFormReturnType<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> => {\n  const { options } = useRefineContext();\n  const disableServerSideValidation =\n    options?.disableServerSideValidation || disableServerSideValidationProp;\n\n  const translate = useTranslate();\n\n  const warnWhenUnsavedChangesProp = refineCoreProps?.warnWhenUnsavedChanges;\n\n  const { warnWhenUnsavedChanges: warnWhenUnsavedChangesRefine, setWarnWhen } =\n    useWarnAboutChange();\n  const warnWhenUnsavedChanges =\n    warnWhenUnsavedChangesProp ?? warnWhenUnsavedChangesRefine;\n\n  const useMantineFormResult = useMantineForm<\n    TVariables,\n    (values: TVariables) => TTransformed\n  >({\n    ...rest,\n  });\n\n  const {\n    setValues,\n    onSubmit: onMantineSubmit,\n    isDirty,\n    resetDirty,\n    setFieldError,\n    values,\n  } = useMantineFormResult;\n\n  const useFormCoreResult = useFormCore<\n    TQueryFnData,\n    TError,\n    FormVariableType<TVariables, TTransformed>,\n    TData,\n    TResponse,\n    TResponseError\n  >({\n    ...refineCoreProps,\n    onMutationError: (error, _variables, _context) => {\n      if (disableServerSideValidation) {\n        refineCoreProps?.onMutationError?.(error, _variables, _context);\n        return;\n      }\n\n      const errors = error?.errors;\n\n      for (const key in errors) {\n        const fieldError = errors[key];\n\n        let newError = \"\";\n\n        if (Array.isArray(fieldError)) {\n          newError = fieldError.join(\" \");\n        }\n\n        if (typeof fieldError === \"string\") {\n          newError = fieldError;\n        }\n\n        if (typeof fieldError === \"boolean\") {\n          newError = \"Field is not valid.\";\n        }\n\n        if (typeof fieldError === \"object\" && \"key\" in fieldError) {\n          const translatedMessage = translate(\n            fieldError.key,\n            fieldError.message,\n          );\n\n          newError = translatedMessage;\n        }\n        setFieldError(key, newError);\n      }\n\n      refineCoreProps?.onMutationError?.(error, _variables, _context);\n    },\n  });\n\n  const { query, formLoading, onFinish, onFinishAutoSave } = useFormCoreResult;\n\n  useEffect(() => {\n    if (typeof query?.data !== \"undefined\") {\n      const fields: any = {};\n\n      const registeredFields = flattenObjectKeys(rest.initialValues ?? {});\n\n      const data = query?.data?.data ?? {};\n\n      Object.keys(registeredFields).forEach((key) => {\n        const hasValue = has(data, key);\n        const dataValue = get(data, key);\n\n        if (hasValue) {\n          set(fields, key, dataValue);\n        }\n      });\n\n      setValues(fields);\n      resetDirty(fields);\n    }\n  }, [query?.data]);\n\n  const isValuesChanged = isDirty();\n\n  useEffect(() => {\n    if (warnWhenUnsavedChanges) {\n      setWarnWhen(isValuesChanged);\n    }\n  }, [isValuesChanged]);\n\n  useEffect(() => {\n    if (isValuesChanged && refineCoreProps?.autoSave && values) {\n      setWarnWhen(false);\n\n      const transformedValues = rest.transformValues\n        ? rest.transformValues(values)\n        : (values as unknown as TTransformed);\n\n      onFinishAutoSave(transformedValues).catch((error) => error);\n    }\n  }, [values]);\n\n  const onSubmit: (typeof useMantineFormResult)[\"onSubmit\"] =\n    (handleSubmit, handleValidationFailure) => async (e) => {\n      setWarnWhen(false);\n      return await onMantineSubmit(handleSubmit, handleValidationFailure)(e);\n    };\n\n  const saveButtonProps = {\n    disabled: formLoading,\n    onClick: (e: React.PointerEvent<HTMLButtonElement>) => {\n      onSubmit(\n        (v) => onFinish(v).catch((error) => error),\n        () => false,\n        // @ts-expect-error event type is not compatible with pointer event\n      )(e);\n    },\n  };\n\n  return {\n    ...useMantineFormResult,\n    onSubmit,\n    refineCore: useFormCoreResult,\n    saveButtonProps,\n  };\n};\n","import { useCallback } from \"react\";\nimport {\n  type BaseKey,\n  type BaseRecord,\n  type FormWithSyncWithLocationParams,\n  type HttpError,\n  useGo,\n  useModal,\n  useParsed,\n  useResourceParams,\n  useUserFriendlyName,\n  useTranslate,\n  useWarnAboutChange,\n  useInvalidate,\n} from \"@refinedev/core\";\n\nimport { useForm, type UseFormProps, type UseFormReturnType } from \"../useForm\";\nimport type { UseFormInput } from \"@mantine/form/lib/types\";\nimport React from \"react\";\n\nexport type UseModalFormReturnType<\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n> = UseFormReturnType<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> & {\n  modal: {\n    submit: (\n      values: ReturnType<\n        NonNullable<\n          UseFormInput<\n            TVariables,\n            (values: TVariables) => TTransformed\n          >[\"transformValues\"]\n        >\n      >,\n    ) => void;\n    close: () => void;\n    show: (id?: BaseKey) => void;\n    visible: boolean;\n    title: string;\n  };\n};\n\nexport type UseModalFormProps<\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n> = UseFormProps<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> & {\n  modalProps?: {\n    defaultVisible?: boolean;\n    autoSubmitClose?: boolean;\n    autoResetForm?: boolean;\n    autoResetFormWhenClose?: boolean;\n  };\n} & FormWithSyncWithLocationParams;\n\nexport const useModalForm = <\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n>({\n  modalProps,\n  refineCoreProps,\n  syncWithLocation,\n  ...rest\n}: UseModalFormProps<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> = {}): UseModalFormReturnType<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> => {\n  const [initiallySynced, setInitiallySynced] = React.useState(false);\n  const invalidate = useInvalidate();\n\n  const translate = useTranslate();\n\n  const {\n    resource: resourceProp,\n    action: actionProp,\n    autoSave,\n    invalidates,\n    dataProviderName,\n  } = refineCoreProps ?? {};\n  const {\n    defaultVisible = false,\n    autoSubmitClose = true,\n    autoResetForm = true,\n    autoResetFormWhenClose = true,\n  } = modalProps ?? {};\n\n  const { resource, identifier } = useResourceParams({\n    resource: resourceProp,\n  });\n\n  const parsed = useParsed();\n  const go = useGo();\n  const getUserFriendlyName = useUserFriendlyName();\n\n  const action = actionProp ?? \"\";\n\n  const syncingId = !(\n    typeof syncWithLocation === \"object\" && syncWithLocation?.syncId === false\n  );\n\n  const syncWithLocationKey =\n    typeof syncWithLocation === \"object\" && \"key\" in syncWithLocation\n      ? syncWithLocation.key\n      : resource && action && syncWithLocation\n        ? `modal-${identifier}-${action}`\n        : undefined;\n\n  const useMantineFormResult = useForm<\n    TQueryFnData,\n    TError,\n    TVariables,\n    TTransformed,\n    TData,\n    TResponse,\n    TResponseError\n  >({\n    refineCoreProps: {\n      ...refineCoreProps,\n      meta: {\n        ...(syncWithLocationKey ? { [syncWithLocationKey]: undefined } : {}),\n        ...refineCoreProps?.meta,\n      },\n    },\n    ...rest,\n  });\n\n  const {\n    reset,\n    refineCore: { onFinish, id, setId, autoSaveProps },\n    saveButtonProps,\n    onSubmit,\n  } = useMantineFormResult;\n\n  const { visible, show, close } = useModal({\n    defaultVisible,\n  });\n\n  React.useEffect(() => {\n    if (initiallySynced === false && syncWithLocationKey) {\n      const openStatus = parsed?.params?.[syncWithLocationKey]?.open;\n      if (typeof openStatus === \"boolean\") {\n        if (openStatus) {\n          show();\n        }\n      } else if (typeof openStatus === \"string\") {\n        if (openStatus === \"true\") {\n          show();\n        }\n      }\n\n      if (syncingId) {\n        const idFromParams = parsed?.params?.[syncWithLocationKey]?.id;\n        if (idFromParams) {\n          setId?.(idFromParams);\n        }\n      }\n\n      setInitiallySynced(true);\n    }\n  }, [syncWithLocationKey, parsed, syncingId, setId]);\n\n  React.useEffect(() => {\n    if (initiallySynced === true) {\n      if (visible && syncWithLocationKey) {\n        go({\n          query: {\n            [syncWithLocationKey]: {\n              ...parsed?.params?.[syncWithLocationKey],\n              open: true,\n              ...(syncingId && id && { id }),\n            },\n          },\n          options: { keepQuery: true },\n          type: \"replace\",\n        });\n      } else if (syncWithLocationKey && !visible) {\n        go({\n          query: {\n            [syncWithLocationKey]: undefined,\n          },\n          options: { keepQuery: true },\n          type: \"replace\",\n        });\n      }\n    }\n  }, [id, visible, show, syncWithLocationKey, syncingId]);\n\n  const submit = async (\n    values: ReturnType<\n      NonNullable<\n        UseFormInput<\n          TVariables,\n          (values: TVariables) => TTransformed\n        >[\"transformValues\"]\n      >\n    >,\n  ) => {\n    await onFinish(values);\n\n    if (autoSubmitClose) {\n      close();\n    }\n\n    if (autoResetForm) {\n      reset();\n    }\n  };\n\n  const { warnWhen, setWarnWhen } = useWarnAboutChange();\n  const handleClose = useCallback(() => {\n    if (autoSaveProps.status === \"success\" && autoSave?.invalidateOnClose) {\n      invalidate({\n        id,\n        invalidates: invalidates || [\"list\", \"many\", \"detail\"],\n        dataProviderName,\n        resource: identifier,\n      });\n    }\n\n    if (warnWhen) {\n      const warnWhenConfirm = window.confirm(\n        translate(\n          \"warnWhenUnsavedChanges\",\n          \"Are you sure you want to leave? You have unsaved changes.\",\n        ),\n      );\n\n      if (warnWhenConfirm) {\n        setWarnWhen(false);\n      } else {\n        return;\n      }\n    }\n\n    setId?.(undefined);\n    close();\n\n    if (autoResetFormWhenClose) {\n      reset();\n    }\n  }, [warnWhen, autoSaveProps.status]);\n\n  const handleShow = useCallback(\n    (showId?: BaseKey) => {\n      if (typeof showId !== \"undefined\") {\n        setId?.(showId);\n      }\n      const needsIdToOpen = action === \"edit\" || action === \"clone\";\n      const hasId = typeof showId !== \"undefined\" || typeof id !== \"undefined\";\n      if (needsIdToOpen ? hasId : true) {\n        show();\n      }\n    },\n    [id],\n  );\n\n  const title = translate(\n    `${identifier}.titles.${actionProp}`,\n    undefined,\n    `${actionProp} ${getUserFriendlyName(\n      resource?.meta?.label ?? identifier,\n      \"singular\",\n    )}`,\n  );\n\n  return {\n    modal: {\n      submit,\n      close: handleClose,\n      show: handleShow,\n      visible,\n      title,\n    },\n    ...useMantineFormResult,\n    saveButtonProps: {\n      ...saveButtonProps,\n      // @ts-expect-error event type is not compatible with pointer event\n      onClick: (e) => onSubmit(submit)(e),\n    },\n  };\n};\n","import { useState } from \"react\";\nimport type { BaseRecord, HttpError } from \"@refinedev/core\";\n\nimport { useForm, type UseFormProps, type UseFormReturnType } from \"../useForm\";\n\nexport type UseStepsFormReturnType<\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n> = UseFormReturnType<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> & {\n  steps: {\n    currentStep: number;\n    gotoStep: (step: number) => void;\n  };\n};\n\nexport type UseStepsFormProps<\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n> = UseFormProps<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> & {\n  /**\n     * @description Configuration object for the steps.\n     * `defaultStep`: Allows you to set the initial step.\n     * \n     * `isBackValidate`: Whether to validation the current step when going back.\n     * @type `{\n      defaultStep?: number;\n      isBackValidate?: boolean;\n      }`\n     * @default `defaultStep = 0` `isBackValidate = false`\n     */\n  stepsProps?: {\n    defaultStep?: number;\n    isBackValidate?: boolean;\n  };\n};\n\nexport const useStepsForm = <\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TVariables = Record<string, unknown>,\n  TTransformed = TVariables,\n  TData extends BaseRecord = TQueryFnData,\n  TResponse extends BaseRecord = TData,\n  TResponseError extends HttpError = TError,\n>({\n  stepsProps,\n  ...rest\n}: UseStepsFormProps<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> = {}): UseStepsFormReturnType<\n  TQueryFnData,\n  TError,\n  TVariables,\n  TTransformed,\n  TData,\n  TResponse,\n  TResponseError\n> => {\n  const { defaultStep = 0, isBackValidate = false } = stepsProps ?? {};\n  const [current, setCurrent] = useState(defaultStep);\n\n  const useMantineFormResult = useForm<\n    TQueryFnData,\n    TError,\n    TVariables,\n    TTransformed,\n    TData,\n    TResponse,\n    TResponseError\n  >({\n    ...rest,\n  });\n\n  const { validate } = useMantineFormResult;\n\n  const go = (step: number) => {\n    let targetStep = step;\n\n    if (step < 0) {\n      targetStep = 0;\n    }\n\n    setCurrent(targetStep);\n  };\n\n  const gotoStep = (step: number) => {\n    if (step === current) {\n      return;\n    }\n\n    if (step < current && !isBackValidate) {\n      go(step);\n      return;\n    }\n\n    const isValid = !validate().hasErrors;\n    if (isValid) {\n      go(step);\n    }\n  };\n\n  return {\n    ...useMantineFormResult,\n    steps: {\n      currentStep: current,\n      gotoStep,\n    },\n  };\n};\n","import type { SelectProps } from \"@mantine/core\";\nimport type { QueryObserverResult } from \"@tanstack/react-query\";\n\nimport {\n  useSelect as useSelectCore,\n  type BaseRecord,\n  type GetManyResponse,\n  type GetListResponse,\n  type HttpError,\n  type UseSelectProps,\n  type BaseOption,\n  type Prettify,\n} from \"@refinedev/core\";\n\nexport type UseSelectReturnType<\n  TData extends BaseRecord = BaseRecord,\n  TOption extends BaseOption = BaseOption,\n  TError = Error,\n> = {\n  selectProps: Prettify<\n    Omit<SelectProps, \"data\"> & {\n      data: TOption[];\n    }\n  >;\n  query: QueryObserverResult<GetListResponse<TData>, TError>;\n  defaultValueQuery: QueryObserverResult<GetManyResponse<TData>, TError>;\n};\n\n/**\n * `useSelect` hook is used to fetch data from the dataProvider and return the options for the select box.\n *\n * It uses `getList` method as query function from the dataProvider that is\n * passed to {@link https://refine.dev/docs/api-reference/core/components/refine-config `<Refine>`}.\n *\n * @see {@link https://refine.dev/docs/api-reference/mantine/hooks/useSelect} for more details.\n *\n * @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}\n * @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}\n * @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`\n *\n */\n\nexport const useSelect = <\n  TQueryFnData extends BaseRecord = BaseRecord,\n  TError extends HttpError = HttpError,\n  TData extends BaseRecord = TQueryFnData,\n  TOption extends BaseOption = BaseOption,\n>(\n  props: UseSelectProps<TQueryFnData, TError, TData>,\n): UseSelectReturnType<TData, TOption, TError> => {\n  const { query, defaultValueQuery, onSearch, options } = useSelectCore<\n    TQueryFnData,\n    TError,\n    TData,\n    TOption\n  >(props);\n\n  return {\n    selectProps: {\n      data: options,\n      onSearchChange: onSearch,\n      searchable: true,\n      filterDataOnExactSearchMatch: true,\n      clearable: true,\n    },\n    query,\n    defaultValueQuery: defaultValueQuery.query,\n  };\n};\n","import { useContext } from \"react\";\n\nimport { ThemedLayoutContext } from \"../../contexts\";\nimport type { IThemedLayoutContext } from \"../../contexts/themedLayoutContext/IThemedLayoutContext\";\n\nexport type UseThemedLayoutContextType = IThemedLayoutContext;\n\nexport const useThemedLayoutContext = (): UseThemedLayoutContextType => {\n  const {\n    mobileSiderOpen,\n    siderCollapsed,\n    setMobileSiderOpen,\n    setSiderCollapsed,\n  } = useContext(ThemedLayoutContext);\n\n  return {\n    mobileSiderOpen,\n    siderCollapsed,\n    setMobileSiderOpen,\n    setSiderCollapsed,\n  };\n};\n","import React, { type ReactNode, useState } from \"react\";\n\nimport type { IThemedLayoutContext } from \"./IThemedLayoutContext\";\n\nexport const ThemedLayoutContext = React.createContext<IThemedLayoutContext>({\n  siderCollapsed: false,\n  mobileSiderOpen: false,\n  setSiderCollapsed: () => undefined,\n  setMobileSiderOpen: () => undefined,\n});\n\nexport const ThemedLayoutContextProvider: React.FC<{\n  children: ReactNode;\n  initialSiderCollapsed?: boolean;\n  onSiderCollapsed?: (collapsed: boolean) => void;\n}> = ({ children, initialSiderCollapsed, onSiderCollapsed }) => {\n  const [siderCollapsed, setSiderCollapsedState] = useState(\n    initialSiderCollapsed ?? false,\n  );\n  const [mobileSiderOpen, setMobileSiderOpen] = useState(false);\n\n  const setSiderCollapsed = (collapsed: boolean) => {\n    setSiderCollapsedState(collapsed);\n    if (onSiderCollapsed) {\n      onSiderCollapsed(collapsed);\n    }\n  };\n\n  return (\n    <ThemedLayoutContext.Provider\n      value={{\n        siderCollapsed,\n        mobileSiderOpen,\n        setSiderCollapsed,\n        setMobileSiderOpen,\n      }}\n    >\n      {children}\n    </ThemedLayoutContext.Provider>\n  );\n};\n","import React from \"react\";\nimport { useGetIdentity } from \"@refinedev/core\";\nimport {\n  Avatar,\n  Flex,\n  Header as MantineHeader,\n  type Sx,\n  Title,\n  useMantineTheme,\n} from \"@mantine/core\";\n\nimport type { RefineThemedLayoutHeaderProps } from \"../types\";\nimport { HamburgerMenu } from \"../hamburgerMenu\";\n\nexport const ThemedHeader: React.FC<RefineThemedLayoutHeaderProps> = ({\n  sticky,\n}) => {\n  const theme = useMantineTheme();\n\n  const { data: user } = useGetIdentity();\n\n  const borderColor =\n    theme.colorScheme === \"dark\" ? theme.colors.dark[6] : theme.colors.gray[2];\n\n  let stickyStyles: Sx = {};\n  if (sticky) {\n    stickyStyles = {\n      position: \"sticky\",\n      top: 0,\n      zIndex: 1,\n    };\n  }\n\n  return (\n    <MantineHeader\n      zIndex={199}\n      height={64}\n      py={6}\n      px=\"sm\"\n      sx={{\n        borderBottom: `1px solid ${borderColor}`,\n        ...stickyStyles,\n      }}\n    >\n      <Flex\n        align=\"center\"\n        justify=\"space-between\"\n        sx={{\n          height: \"100%\",\n        }}\n      >\n        <HamburgerMenu />\n        <Flex align=\"center\" gap=\"sm\">\n          {user?.name && (\n            <Title order={6} data-testid=\"header-user-name\">\n              {user?.name}\n            </Title>\n          )}\n          {user?.avatar && (\n            <Avatar src={user?.avatar} alt={user?.name} radius=\"xl\" />\n          )}\n        </Flex>\n      </Flex>\n    </MantineHeader>\n  );\n};\n","import React from \"react\";\nimport { ActionIcon, MediaQuery } from \"@mantine/core\";\nimport {\n  IconMenu2,\n  IconIndentDecrease,\n  IconIndentIncrease,\n} from \"@tabler/icons-react\";\n\nimport { useThemedLayoutContext } from \"@hooks\";\n\nexport const HamburgerMenu: React.FC = () => {\n  const {\n    siderCollapsed,\n    setSiderCollapsed,\n    mobileSiderOpen,\n    setMobileSiderOpen,\n  } = useThemedLayoutContext();\n\n  return (\n    <>\n      <MediaQuery smallerThan=\"md\" styles={{ display: \"none\" }}>\n        <ActionIcon\n          variant=\"subtle\"\n          color=\"gray\"\n          sx={{\n            border: \"none\",\n          }}\n          size=\"lg\"\n          onClick={() => setSiderCollapsed(!siderCollapsed)}\n        >\n          {siderCollapsed ? (\n            <IconIndentIncrease size={20} />\n          ) : (\n            <IconIndentDecrease size={20} />\n          )}\n        </ActionIcon>\n      </MediaQuery>\n      <MediaQuery largerThan=\"md\" styles={{ display: \"none\" }}>\n        <ActionIcon\n          variant=\"subtle\"\n          color=\"gray\"\n          sx={{\n            border: \"none\",\n          }}\n          size=\"lg\"\n          onClick={() => setMobileSiderOpen(!mobileSiderOpen)}\n        >\n          <IconMenu2 size={20} />\n        </ActionIcon>\n      </MediaQuery>\n    </>\n  );\n};\n","import React from \"react\";\nimport { useLink, useRefineOptions } from \"@refinedev/core\";\nimport { Center, Text, useMantineTheme } from \"@mantine/core\";\nimport type { RefineLayoutThemedTitleProps } from \"../types\";\n\nexport const ThemedTitle: React.FC<RefineLayoutThemedTitleProps> = ({\n  collapsed,\n  icon: iconFromProps,\n  text: textFromProps,\n  wrapperStyles = {},\n}) => {\n  const {\n    title: { icon: defaultIcon, text: defaultText } = {},\n  } = useRefineOptions();\n  const icon =\n    typeof iconFromProps === \"undefined\" ? defaultIcon : iconFromProps;\n  const text =\n    typeof textFromProps === \"undefined\" ? defaultText : textFromProps;\n  const theme = useMantineTheme();\n  const Link = useLink();\n\n  return (\n    <Link to=\"/\" style={{ all: \"unset\" }}>\n      <Center\n        style={{\n          cursor: \"pointer\",\n          display: \"flex\",\n          alignItems: \"center\",\n          justifyContent: collapsed ? \"center\" : \"flex-start\",\n          gap: \"8px\",\n          ...wrapperStyles,\n        }}\n      >\n        <Text\n          lh={0}\n          fz=\"inherit\"\n          color={theme.colorScheme === \"dark\" ? \"brand.5\" : \"brand.6\"}\n        >\n          {icon}\n        </Text>\n        {!collapsed && (\n          <Text\n            fz=\"inherit\"\n            color={theme.colorScheme === \"dark\" ? \"white\" : \"black\"}\n          >\n            {text}\n          </Text>\n        )}\n      </Center>\n    </Link>\n  );\n};\n","import React from \"react\";\nimport {\n  type AutoSaveIndicatorProps,\n  useTranslate,\n  AutoSaveIndicator as AutoSaveIndicatorCore,\n} from \"@refinedev/core\";\nimport { Text } from \"@mantine/core\";\nimport {\n  IconDots,\n  IconRefresh,\n  IconCircleCheck,\n  IconExclamationCircle,\n} from \"@tabler/icons-react\";\n\nexport const AutoSaveIndicator: React.FC<AutoSaveIndicatorProps> = ({\n  status,\n  elements: {\n    success = (\n      <Message\n        translationKey=\"autoSave.success\"\n        defaultMessage=\"saved\"\n        icon={<IconCircleCheck size=\"18px\" />}\n      />\n    ),\n    error = (\n      <Message\n        translationKey=\"autoSave.error\"\n        defaultMessage=\"auto save failure\"\n        icon={<IconExclamationCircle size=\"18px\" />}\n      />\n    ),\n    loading = (\n      <Message\n        translationKey=\"autoSave.loading\"\n        defaultMessage=\"saving...\"\n        icon={<IconRefresh size=\"18px\" />}\n      />\n    ),\n    idle = (\n      <Message\n        translationKey=\"autoSave.idle\"\n        defaultMessage=\"waiting for changes\"\n        icon={<IconDots size=\"18px\" />}\n      />\n    ),\n  } = {},\n}) => {\n  return (\n    <AutoSaveIndicatorCore\n      status={status}\n      elements={{\n        success,\n        error,\n        loading,\n        idle,\n      }}\n    />\n  );\n};\n\nconst Message = ({\n  translationKey,\n  defaultMessage,\n  icon,\n}: {\n  translationKey: string;\n  defaultMessage: string;\n  icon: React.ReactNode;\n}) => {\n  const translate = useTranslate();\n\n  return (\n    <Text size=\"sm\" display=\"flex\" align=\"center\" mr=\"2\" color=\"gray\">\n      {translate(translationKey, defaultMessage)}\n      <span style={{ position: \"relative\", top: \"3px\", marginLeft: \"3px\" }}>\n        {icon}\n      </span>\n    </Text>\n  );\n};\n","import React from \"react\";\nimport type { NotificationProvider } from \"@refinedev/core\";\nimport {\n  showNotification,\n  updateNotification,\n  hideNotification,\n} from \"@mantine/notifications\";\nimport { ActionIcon, Box, Group, Text } from \"@mantine/core\";\nimport { IconCheck, IconRotate2, IconX } from \"@tabler/icons-react\";\n\nimport { RingCountdown } from \"@components\";\n\nexport const useNotificationProvider = (): NotificationProvider => {\n  const activeNotifications: string[] = [];\n\n  const isNotificationActive = (key?: string) => {\n    return activeNotifications.includes(key as string);\n  };\n\n  const addNotification = (key?: string) => {\n    if (key) {\n      const index = activeNotifications.indexOf(key);\n      if (index === -1) {\n        activeNotifications.push(key);\n      }\n    }\n  };\n\n  const removeNotification = (key?: string) => {\n    if (key) {\n      const index = activeNotifications.indexOf(key);\n      if (index > -1) {\n        activeNotifications.splice(index, 1);\n      }\n    }\n  };\n\n  const notificationProvider: NotificationProvider = {\n    open: ({\n      message,\n      description,\n      type,\n      undoableTimeout,\n      key,\n      cancelMutation,\n    }) => {\n      if (type === \"progress\") {\n        if (isNotificationActive(key)) {\n          updateNotification({\n            id: key!,\n            message: (\n              <Group position=\"apart\" noWrap>\n                <Group spacing=\"xs\" position=\"center\">\n                  <RingCountdown undoableTimeout={undoableTimeout ?? 0} />\n                  <Box>\n                    <Text>{message}</Text>\n                    {description && <Text>{description}</Text>}\n                  </Box>\n                </Group>\n                <ActionIcon\n                  variant=\"default\"\n                  onClick={() => {\n                    cancelMutation?.();\n                    if (key) {\n                      removeNotification(key);\n                      hideNotification(key);\n                    }\n                  }}\n                >\n                  <IconRotate2 size={18} />\n                </ActionIcon>\n              </Group>\n            ),\n            styles: {\n              root: {\n                paddingLeft: \"8px\",\n                paddingTop: \"0px\",\n                paddingBottom: \"0px\",\n                \"&::before\": { display: \"none\" },\n              },\n            },\n            disallowClose: true,\n            autoClose: false,\n          });\n        } else {\n          addNotification(key);\n          showNotification({\n            id: key,\n            message: (\n              <Group position=\"apart\" noWrap>\n                <Group spacing=\"xs\" position=\"center\">\n                  <RingCountdown undoableTimeout={undoableTimeout ?? 0} />\n                  <Box>\n                    <Text>{message}</Text>\n                    {description && <Text>{description}</Text>}\n                  </Box>\n                </Group>\n                <ActionIcon\n                  variant=\"default\"\n                  onClick={() => {\n                    cancelMutation?.();\n                    if (key) {\n                      removeNotification(key);\n                      hideNotification(key);\n                    }\n                  }}\n                >\n                  <IconRotate2 size={18} />\n                </ActionIcon>\n              </Group>\n            ),\n\n            styles: {\n              root: {\n                paddingLeft: \"8px\",\n                paddingTop: \"0px\",\n                paddingBottom: \"0px\",\n                \"&::before\": { display: \"none\" },\n              },\n            },\n            disallowClose: true,\n            autoClose: false,\n          });\n        }\n      } else {\n        if (isNotificationActive(key)) {\n          updateNotification({\n            id: key!,\n            color: type === \"success\" ? \"primary\" : \"red\",\n            icon:\n              type === \"success\" ? (\n                <IconCheck size={18} />\n              ) : (\n                <IconX size={18} />\n              ),\n            message,\n            title: description,\n            autoClose: 5000,\n          });\n        } else {\n          addNotification(key);\n          showNotification({\n            id: key!,\n            color: type === \"success\" ? \"primary\" : \"red\",\n            icon:\n              type === \"success\" ? (\n                <IconCheck size={18} />\n              ) : (\n                <IconX size={18} />\n              ),\n            message,\n            title: description,\n            onClose: () => {\n              removeNotification(key);\n            },\n            autoClose: 5000,\n          });\n        }\n      }\n    },\n    close: (key) => {\n      removeNotification(key);\n      hideNotification(key);\n    },\n  };\n\n  return notificationProvider;\n};\n\n/**\n * @deprecated `notificationProvider` is deprecated due to consistent naming convention between UI libraries. Please use `useNotificationProvider` export as your notification provider.\n */\nexport const notificationProvider = useNotificationProvider;\n","import type { MantineTheme, MantineThemeOverride } from \"@mantine/core\";\n\nconst commonThemeProperties: Partial<MantineThemeOverride> = {\n  fontFamily: [\n    \"Montserrat\",\n    \"-apple-system\",\n    \"BlinkMacSystemFont\",\n    '\"Segoe UI\"',\n    \"Roboto\",\n    '\"Helvetica Neue\"',\n    \"Arial\",\n    \"sans-serif\",\n    '\"Apple Color Emoji\"',\n    '\"Segoe UI Emoji\"',\n    '\"Segoe UI Symbol\"',\n  ].join(\",\"),\n  colors: {\n    primary: [\n      \"#F1FBE9\",\n      \"#D8F4C3\",\n      \"#BFED9C\",\n      \"#A7E675\",\n      \"#8EDE4E\",\n      \"#75D728\",\n      \"#5DAC20\",\n      \"#468118\",\n      \"#2F5610\",\n      \"#172B08\",\n    ],\n  },\n  black: \"#626262\",\n  primaryColor: \"primary\",\n  defaultRadius: 6,\n  headings: {\n    fontFamily: [\n      \"Montserrat\",\n      \"-apple-system\",\n      \"BlinkMacSystemFont\",\n      '\"Segoe UI\"',\n      \"Roboto\",\n      '\"Helvetica Neue\"',\n      \"Arial\",\n      \"sans-serif\",\n      '\"Apple Color Emoji\"',\n      '\"Segoe UI Emoji\"',\n      '\"Segoe UI Symbol\"',\n    ].join(\",\"),\n  },\n  components: {\n    Table: {\n      styles: (theme) =>\n        theme.colorScheme === \"light\"\n          ? {\n              root: {\n                \"thead>tr>th\": {\n                  backgroundColor: \"#fafafa\",\n                  padding: \"16px 4px\",\n                },\n                \"thead>tr>th:first-of-type\": {\n                  borderTopLeftRadius: theme.defaultRadius,\n                },\n                \"thead>tr>th:last-of-type\": {\n                  borderTopRightRadius: theme.defaultRadius,\n                },\n                \"tbody>tr>td\": {\n                  borderBottom: \"1px solid #f0f0f0\",\n                },\n              },\n            }\n          : { root: {} },\n    },\n  },\n};\n\nexport const LightTheme: Partial<MantineThemeOverride> = {\n  colorScheme: \"light\",\n  ...commonThemeProperties,\n};\n\nexport const DarkTheme: Partial<MantineThemeOverride> = {\n  colorScheme: \"dark\",\n  ...commonThemeProperties,\n};\n\nconst refineColors = {\n  Blue: {\n    colors: [\n      \"#E7F5FF\",\n      \"#D0EBFF\",\n      \"#A5D8FF\",\n      \"#74C0FC\",\n      \"#4DABF7\",\n      \"#339AF0\",\n      \"#228BE6\",\n      \"#1C7ED6\",\n      \"#1971C2\",\n      \"#1864AB\",\n    ],\n  },\n  Purple: {\n    colors: [\n      \"#F3F0FF\",\n      \"#E5DBFF\",\n      \"#D0BFFF\",\n      \"#B197FC\",\n      \"#9775FA\",\n      \"#845EF7\",\n      \"#7950F2\",\n      \"#7048E8\",\n      \"#6741D9\",\n      \"#5F3DC4\",\n    ],\n  },\n  Magenta: {\n    colors: [\n      \"#FFF0F6\",\n      \"#FFDEEB\",\n      \"#FCC2D7\",\n      \"#FAA2C1\",\n      \"#F783AC\",\n      \"#F06595\",\n      \"#E64980\",\n      \"#D6336C\",\n      \"#C2255C\",\n      \"#A61E4D\",\n    ],\n  },\n  Red: {\n    colors: [\n      \"#FFF5F5\",\n      \"#FFE3E3\",\n      \"#FFC9C9\",\n      \"#FFA8A8\",\n      \"#FF8787\",\n      \"#FF6B6B\",\n      \"#FA5252\",\n      \"#F03E3E\",\n      \"#E03131\",\n      \"#C92A2A\",\n    ],\n  },\n  Orange: {\n    colors: [\n      \"#FFF4E6\",\n      \"#FFE8CC\",\n      \"#FFD8A8\",\n      \"#FFC078\",\n      \"#FFA94D\",\n      \"#FF922B\",\n      \"#FD7E14\",\n      \"#F76707\",\n      \"#E8590C\",\n      \"#D9480F\",\n    ],\n  },\n  Yellow: {\n    colors: [\n      \"#FFF9DB\",\n      \"#FFF3BF\",\n      \"#FFEC99\",\n      \"#FFE066\",\n      \"#FFD43B\",\n      \"#FCC419\",\n      \"#FAB005\",\n      \"#F59F00\",\n      \"#F08C00\",\n      \"#E67700\",\n    ],\n  },\n  Green: {\n    colors: [\n      \"#EBFBEE\",\n      \"#D3F9D8\",\n      \"#B2F2BB\",\n      \"#8CE99A\",\n      \"#69DB7C\",\n      \"#51CF66\",\n      \"#40C057\",\n      \"#37B24D\",\n      \"#2F9E44\",\n      \"#2B8A3E\",\n    ],\n  },\n} as const;\n\nexport const RefineThemes = Object.keys(refineColors).reduce((acc, key) => {\n  const themeName = key as keyof typeof refineColors;\n  return {\n    ...acc,\n    [themeName]: {\n      globalStyles: (theme: MantineTheme) => ({\n        body: {\n          backgroundColor:\n            theme.colorScheme === \"dark\"\n              ? theme.colors.dark[8]\n              : theme.colors.gray[0],\n        },\n      }),\n\n      colors: {\n        brand: refineColors[themeName].colors,\n      },\n      primaryColor: \"brand\",\n    },\n  };\n}, {}) as Record<keyof typeof refineColors, MantineThemeOverride>;\n"],"mappings":"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","names":["useForm","React","import_react","import_core","React","import_react","import_core","React","import_react","import_core","React","import_react","import_core","React","import_react","import_core","dayjs","LocalizedFormat","React","import_react","React","import_react","import_core","React","import_react","import_core","React","import_react","React","ReactMarkdown","gfm","import_react","import_core","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","import_icons_react","React","import_react","import_core","import_ui_types","React","import_react","import_core","import_icons_react","import_ui_types","React","import_react","import_core","import_icons_react","import_ui_types","React","import_react","import_core","import_icons_react","import_ui_types","React","import_react","import_core","import_icons_react","React","import_react","import_react","import_core","useForm","FormProvider","React","import_react","import_core","useForm","FormProvider","React","import_react","import_core","useForm","FormProvider","React","import_react","import_core","useForm","FormProvider","React","React","import_react","import_core","import_icons_react","React","import_react","import_core","import_react","import_core","import_icons_react","import_react","import_form","import_core","useForm","useMantineForm","useFormCore","has","get","set","import_react","import_core","import_react","React","useForm","_a","import_react","useForm","import_core","useSelectCore","import_react","import_react","React","React","selectedKey","import_react","import_core","import_react","import_core","import_icons_react","React","React","MantineHeader","Title","React","import_react","import_core","React","import_react","import_core","import_icons_react","React","AutoSaveIndicatorCore","import_react","import_core","import_icons_react","notificationProvider","React"]}