react-crud-mui 0.0.1-beta.18 → 0.0.1-beta.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -414,6 +414,7 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
414
414
  readonly helperText?: import('react').ReactNode;
415
415
  readonly headerProps?: import('@mui/material').BoxProps;
416
416
  readonly moreOptions?: import('../../..').MoreButtonProps["options"];
417
+ readonly useIconWrapper?: boolean;
417
418
  readonly error?: import('../../utils').ServerError;
418
419
  readonly onDelete?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').DeletePayload<TModel>> | undefined;
419
420
  readonly onCreate?: () => void;
@@ -424,6 +425,7 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
424
425
  readonly onLayout?: (props: import('../../page/components/DefaultLayout').PageLayoutProps) => import('react').ReactNode;
425
426
  readonly showHeader?: boolean;
426
427
  readonly disableShortCuts?: boolean;
428
+ readonly tabsPosition?: import('../../page/Page').TabsPosition;
427
429
  readonly selectedTabIndex?: number;
428
430
  readonly onTabChanged?: (selected: import('../../page/components/DefaultTabs').TabChangedPayload) => void;
429
431
  readonly onTabs?: (props: import('../../..').DefaultTabsProps) => import('react').ReactNode;
@@ -10,6 +10,7 @@ export interface HeaderProps extends React.ComponentProps<typeof FlexBetween> {
10
10
  headerProps?: BoxProps;
11
11
  icon?: ReactNode;
12
12
  moreOptions?: MoreButtonProps['options'];
13
+ useIconWrapper?: boolean;
13
14
  }
14
- declare function Header({ moreOptions, header, headerProps, icon, rightContent, helperText, centerContent, ...flexProps }: HeaderProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function Header({ moreOptions, header, headerProps, icon, rightContent, helperText, centerContent, children, useIconWrapper, ...flexProps }: HeaderProps): import("react/jsx-runtime").JSX.Element;
15
16
  export default Header;
@@ -1,6 +1,7 @@
1
- import { default as React, ComponentType, ReactNode } from 'react';
1
+ import { default as React, ReactNode } from 'react';
2
2
  import { FieldValues } from 'react-hook-form';
3
3
  import { ActionCommandsProps } from '../../action-commands/ActionCommands';
4
+ import { NeedDataReason } from '../../detail-page/pages/DetailPageContent';
4
5
  import { DetailPageDrawerProps } from '../../detail-page/pages/DetailPageDrawer';
5
6
  import { DetailPageModalProps } from '../../detail-page/pages/DetailPageModal';
6
7
  import { Message } from '../../page/hooks/useNormalizeMessages';
@@ -16,7 +17,10 @@ export type ListPageWrapperLayoutProps = {
16
17
  commandsContent: ReactNode;
17
18
  detailPageContent: ReactNode;
18
19
  };
19
- export interface ListPageContentProps<TModel extends FieldValues, TDetailPageModel extends FieldValues = FieldValues> extends Omit<PageProps, 'commandsContent' | 'alertsContent' | 'autoSave' | 'onHeader' | 'onChange'>, Pick<ListPageCommandsProps, 'onCommands' | 'onExtraCommands' | 'createCommandLabel'> {
20
+ export type DetailPageComponentType<TDetailPageModel extends FieldValues = FieldValues> = React.ComponentType<DetailPageModalProps<TDetailPageModel> | DetailPageDrawerProps<TDetailPageModel>>;
21
+ export type DetailPageComponentOptions<TDetailPageModel extends FieldValues = FieldValues> = Partial<Record<NeedDataReason, DetailPageComponentType<TDetailPageModel>>>;
22
+ export type DetailPageComponent<TDetailPageModel extends FieldValues = FieldValues> = DetailPageComponentOptions<TDetailPageModel> | DetailPageComponentType<TDetailPageModel>;
23
+ export interface ListPageContentProps<TModel extends FieldValues, TDetailPageModel extends FieldValues = FieldValues> extends Omit<PageProps, 'commandsContent' | 'alertsContent' | 'autoSave' | 'onHeader' | 'onChange' | 'onCopy'>, Pick<ListPageCommandsProps, 'onCommands' | 'onExtraCommands' | 'createCommandLabel'> {
20
24
  /**
21
25
  * Alerts
22
26
  */
@@ -104,7 +108,19 @@ export interface ListPageContentProps<TModel extends FieldValues, TDetailPageMod
104
108
  /**
105
109
  * New item event fired when new item button pressed
106
110
  */
107
- onCreateItem?: () => void;
111
+ onCreate?: () => void;
112
+ /**
113
+ * Edit event fired when edit action of the row clicked
114
+ */
115
+ onEdit?: (model: TModel) => void;
116
+ /**
117
+ * Copy event fired when copy action of the row clicked
118
+ */
119
+ onCopy?: (model: TModel) => void;
120
+ /**
121
+ * View event fired when view action of the row clicked
122
+ */
123
+ onView?: (model: TModel) => void;
108
124
  /**
109
125
  * Custom header function
110
126
  */
@@ -117,7 +133,7 @@ export interface ListPageContentProps<TModel extends FieldValues, TDetailPageMod
117
133
  /**
118
134
  * Embedded detail page component
119
135
  */
120
- detailPage?: ComponentType<DetailPageModalProps<TDetailPageModel> | DetailPageDrawerProps<TDetailPageModel>>;
136
+ detailPage?: DetailPageComponent<TDetailPageModel>;
121
137
  /**
122
138
  * Render action commands used with detailPage on every row
123
139
  */
@@ -131,5 +147,5 @@ export interface ListPageContentProps<TModel extends FieldValues, TDetailPageMod
131
147
  */
132
148
  onDelete?: (model: TModel) => void;
133
149
  }
134
- declare function ListPageContent<TModel extends FieldValues, TDetailPageModel extends FieldValues = FieldValues>({ activeSegmentIndex, actionCommandsProps, alerts, autoSearch, columns, createCommandLabel, data, dataCount, detailPage: EmbededDetailPageComponent, disabled, disableShortCuts, enableActionCommands, enableClear, enableCreateItem, enableExport, enableSearch, error, filterContent, hotkeyScopes, list: ListComponent, loading, onClear, onClose, onCommands, onCreateItem, onDelete, onExcelExport, onExtraCommands, onHeader, onSearch, onTabChanged, tableProps, onWrapperLayout, showHeader, ...pageProps }: ListPageContentProps<TModel, TDetailPageModel>): import("react/jsx-runtime").JSX.Element;
150
+ declare function ListPageContent<TModel extends FieldValues, TDetailPageModel extends FieldValues = FieldValues>({ activeSegmentIndex, actionCommandsProps, alerts, autoSearch, columns, createCommandLabel, data, dataCount, detailPage, disabled, disableShortCuts, enableActionCommands, enableClear, enableCreateItem, enableExport, enableSearch, error, filterContent, hotkeyScopes, list: ListComponent, loading, onClear, onClose, onCommands, onCopy, onCreate, onDelete, onEdit, onExcelExport, onExtraCommands, onHeader, onSearch, onTabChanged, onView, tableProps, onWrapperLayout, showHeader, ...pageProps }: ListPageContentProps<TModel, TDetailPageModel>): import("react/jsx-runtime").JSX.Element;
135
151
  export default ListPageContent;
@@ -7,6 +7,7 @@ import { default as PageDivider } from './components/PageDivider';
7
7
  import { PaddingSize } from './components/PageProvider';
8
8
  export type CloseReason = 'backdrop' | 'close-button' | 'action';
9
9
  export type CommandsPosition = 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right' | 'bottom' | 'top';
10
+ export type TabsPosition = 'in-center' | 'in-subrow';
10
11
  export interface PageProps extends Omit<HeaderProps, 'rightContent'> {
11
12
  commandsContent?: ReactNode;
12
13
  commandsPosition?: CommandsPosition;
@@ -21,12 +22,13 @@ export interface PageProps extends Omit<HeaderProps, 'rightContent'> {
21
22
  loading?: boolean;
22
23
  disableShortCuts?: boolean;
23
24
  tabs?: TabPane[];
25
+ tabsPosition?: TabsPosition;
24
26
  selectedTabIndex?: number;
25
27
  onTabChanged?: (selected: TabChangedPayload) => void;
26
28
  onTabs?: (props: DefaultTabsProps) => ReactNode;
27
29
  }
28
30
  export declare const PagePadding: Record<PaddingSize, number>;
29
- declare function Page({ alertsContent, children, commandsContent, commandsPosition, onTabs, disabled, footerContent, loading, onHeader, onLayout, showHeader, size, style, sx, tabs, onTabChanged, selectedTabIndex, ...headerProps }: PageProps): import("react/jsx-runtime").JSX.Element;
31
+ declare function Page({ alertsContent, children, commandsContent, commandsPosition, onTabs, disabled, footerContent, loading, onHeader, onLayout, showHeader, size, style, sx, tabs, onTabChanged, selectedTabIndex, tabsPosition, ...headerProps }: PageProps): import("react/jsx-runtime").JSX.Element;
30
32
  declare namespace Page {
31
33
  var Content: typeof PageContent;
32
34
  var Divider: typeof PageDivider;
@@ -6,6 +6,7 @@ export type TabPane = Omit<TabProps, 'children' | 'key'> & {
6
6
  };
7
7
  export interface DefaultTabsProps extends TabsProps {
8
8
  tabs: TabPane[];
9
+ bordered?: boolean;
9
10
  }
10
11
  export type TabChangedPayload = {
11
12
  selectedTabIndex: number;