react-crud-mui 0.3.2 → 0.3.4

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.
@@ -11,5 +11,7 @@ interface DetailPageStepContentProps<TModel extends FieldValues> {
11
11
  /**
12
12
  * This component is used to create a form for each step in the detail page.
13
13
  */
14
- declare function DetailPageStepForm<TModel extends FieldValues>({ schema, name, children, defaultValues, validationOptions, }: DetailPageStepContentProps<TModel> & PropsWithChildren): import("react/jsx-runtime").JSX.Element;
14
+ declare function DetailPageStepForm<TModel extends FieldValues>({ schema, name, children, defaultValues, validationOptions, active, }: DetailPageStepContentProps<TModel> & PropsWithChildren<{
15
+ active: boolean;
16
+ }>): import("react/jsx-runtime").JSX.Element;
15
17
  export default DetailPageStepForm;
@@ -485,6 +485,7 @@ declare function useDetailPageModal<TModel extends FieldValues, TProps extends S
485
485
  readonly successPanelVisible?: boolean;
486
486
  readonly successPanelProps?: import('../components/SuccessPanel').SuccessPanelProps | ((model: TModel, events: Pick<import('../pages/DetailPageContent').DetailPageContentProps<TModel>, "onClose" | "onCreate">) => import('../components/SuccessPanel').SuccessPanelProps) | undefined;
487
487
  readonly onSuccessPanel?: ((model: TModel, events: Pick<import('../pages/DetailPageContent').DetailPageContentProps<TModel>, "onClose" | "onCreate">) => React.ReactNode) | undefined;
488
+ readonly alertsScrollMarginTop?: number;
488
489
  readonly onAfterDelete?: ((variables: import('../pages/DetailPageData').DeletePayload<TModel>, form: import('../../form/hooks/useForm').UseFormReturn<TModel, FieldValues>) => void) | undefined;
489
490
  readonly onAfterSave?: ((result: void | Awaited<TModel> | undefined, variables: import('../pages/DetailPageData').SavePayload<TModel>, form: import('../../form/hooks/useForm').UseFormReturn<TModel, FieldValues>) => void) | undefined;
490
491
  readonly showSuccessMessages?: boolean;
@@ -167,6 +167,11 @@ export interface DetailPageContentProps<TModel extends FieldValues> extends Omit
167
167
  * Custom render for success panel
168
168
  */
169
169
  onSuccessPanel?: (model: TModel, events: Pick<DetailPageContentProps<TModel>, 'onCreate' | 'onClose'>) => React.ReactNode;
170
+ /**
171
+ * Offset (in px) reserved above the alerts section when scrolling it into view on error,
172
+ * useful when the consumer app has a sticky/fixed header that would otherwise cover it
173
+ */
174
+ alertsScrollMarginTop?: number;
170
175
  }
171
- declare function DetailPageContent<TModel extends FieldValues>({ activeSegmentIndex, alerts, autoSave, children, commandsPosition, commandsProps, customSteps: CustomSteps, data, defaultSaveMode, disabled, disableShortCuts, enableClose, enableCopy, enableCreate, enableDelete, enableDiscardChanges, enableSave, error, form, hotkeyScopes, loading, onClose, onCommands, onContentLayout, onCopy, onCreate, onDelete, onDiscardChanges, onSegmentChanged, onExtraCommands, onHeader, onNavigate, onSave, onSaveClose, onSaveCreate, onTabChanged, onWrapperLayout, readOnly, reason, showHeader, steps, stepsProps, successPanelVisible, successPanelProps, onSuccessPanel, tabExtraContent, ...pageProps }: DetailPageContentProps<TModel>): import("react/jsx-runtime").JSX.Element;
176
+ declare function DetailPageContent<TModel extends FieldValues>({ activeSegmentIndex, alerts, alertsScrollMarginTop, autoSave, children, commandsPosition, commandsProps, customSteps: CustomSteps, data, defaultSaveMode, disabled, disableShortCuts, enableClose, enableCopy, enableCreate, enableDelete, enableDiscardChanges, enableSave, error, form, hotkeyScopes, loading, onClose, onCommands, onContentLayout, onCopy, onCreate, onDelete, onDiscardChanges, onSegmentChanged, onExtraCommands, onHeader, onNavigate, onSave, onSaveClose, onSaveCreate, onTabChanged, onWrapperLayout, readOnly, reason, showHeader, steps, stepsProps, successPanelVisible, successPanelProps, onSuccessPanel, tabExtraContent, ...pageProps }: DetailPageContentProps<TModel>): import("react/jsx-runtime").JSX.Element;
172
177
  export default DetailPageContent;
@@ -12,3 +12,4 @@ export { default as useTemplate } from '../combobox/hooks/useComboboxTemplate';
12
12
  export { default as useUpdateEffect } from './useUpdateEffect';
13
13
  export { default as useZodRefine } from './useZodRefine';
14
14
  export { useSpinDelay } from './useSpinDelay';
15
+ export { default as useScrollToTop } from './useScrollToTop';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Scrolls the window to top whenever `key` changes (e.g. on route change).
3
+ * Fixes react-router-dom keeping the previous page's scroll position when
4
+ * navigating to a new route (browser doesn't reset scroll on pushState).
5
+ */
6
+ declare function useScrollToTop(key: unknown): void;
7
+ export default useScrollToTop;
@@ -168,6 +168,11 @@ export interface ListPageContentProps<TModel extends FieldValues> extends Omit<P
168
168
  * List type @default table
169
169
  */
170
170
  listType?: ListType;
171
+ /**
172
+ * Offset (in px) reserved above the alerts section when scrolling it into view on error,
173
+ * useful when the consumer app has a sticky/fixed header that would otherwise cover it
174
+ */
175
+ alertsScrollMarginTop?: number;
171
176
  }
172
- declare function ListPageContent<TModel extends FieldValues>({ activeSegmentIndex, actionCommandsProps, actionColumnProps, alerts, autoSearch, cardProps, children, columns, commandsProps, data, dataCount, disabled, disableShortCuts, enableActionCommands, enableRowClickToDetails, enableClear, enableCreateItem, enableRefetch, enableExport, enableSearch, error, filterContent, hotkeyScopes, listType, loading, onActionClick, onActionCommands, onClear, onClose, onCommands, onCustomTable, onDetailPage, onExcelExport, onExtraCommands, onHeader, onLayout, onSearch, onTabChanged, tableProps, onWrapperLayout, showHeader, showDataCountOnHeader, ...pageProps }: ListPageContentProps<TModel>): import("react/jsx-runtime").JSX.Element;
177
+ declare function ListPageContent<TModel extends FieldValues>({ activeSegmentIndex, actionCommandsProps, actionColumnProps, alerts, alertsScrollMarginTop, autoSearch, cardProps, children, columns, commandsProps, data, dataCount, disabled, disableShortCuts, enableActionCommands, enableRowClickToDetails, enableClear, enableCreateItem, enableRefetch, enableExport, enableSearch, error, filterContent, hotkeyScopes, listType, loading, onActionClick, onActionCommands, onClear, onClose, onCommands, onCustomTable, onDetailPage, onExcelExport, onExtraCommands, onHeader, onLayout, onSearch, onTabChanged, tableProps, onWrapperLayout, showHeader, showDataCountOnHeader, ...pageProps }: ListPageContentProps<TModel>): import("react/jsx-runtime").JSX.Element;
173
178
  export default ListPageContent;
@@ -2,12 +2,13 @@ import { ReactNode } from 'react';
2
2
  import { AccordionProps } from '@mui/material/Accordion';
3
3
  import { AccordionDetailsProps } from '@mui/material/AccordionDetails';
4
4
  import { BoxProps } from '@mui/material/Box';
5
- export type PanelPane = Omit<AccordionProps, 'children' | 'key'> & {
5
+ export type PanelPane = Omit<AccordionProps, 'children' | 'key' | 'hidden'> & {
6
6
  children?: ReactNode;
7
7
  footer?: ReactNode;
8
8
  label?: ReactNode;
9
9
  key: string;
10
10
  detailsProps?: AccordionDetailsProps;
11
+ hidden?: boolean;
11
12
  };
12
13
  export interface DefaultAccordionsProps extends BoxProps {
13
14
  panels: PanelPane[];
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { SxProps } from '@mui/material/styles';
3
3
  import { TabProps } from '@mui/material/Tab';
4
4
  import { TabsProps } from '@mui/material/Tabs';
5
- export type TabPane = Omit<TabProps, 'children' | 'key'> & {
5
+ export type TabPane = Omit<TabProps, 'children' | 'key' | 'hidden'> & {
6
6
  children?: ReactNode;
7
7
  key: string;
8
8
  hidden?: boolean;
@@ -58,6 +58,7 @@ export interface TableProps<TData extends FieldValues> extends Omit<TableOptions
58
58
  onCellProps?: (cell: Cell<TData, unknown>, table: TableType<TData>) => React.ComponentProps<typeof BodyTableCell> | undefined;
59
59
  onHeadCellProps?: (header: Header<TData, unknown>, table: TableType<TData>) => React.ComponentProps<typeof HeadTableCell> | undefined;
60
60
  onFooterCellProps?: (header: Header<TData, unknown>, table: TableType<TData>) => React.ComponentProps<typeof BodyTableCell> | undefined;
61
+ onDescriptionCellProps?: (row: Row<TData>, table: TableType<TData>) => React.ComponentProps<typeof BodyTableCell> | undefined;
61
62
  onSubTreeRows?: Path<TData> | ((originalRow: TData) => unknown[] | undefined);
62
63
  rowIdField?: Path<TData>;
63
64
  scrollProps?: Partial<ScrollbarProps>;
@@ -75,7 +76,7 @@ export interface TableProps<TData extends FieldValues> extends Omit<TableOptions
75
76
  alternateColor?: boolean;
76
77
  delayOptions?: SpinDelayOptions;
77
78
  }
78
- declare function Table<TData extends FieldValues>({ alternateColor, autoFocus, bordered, columns, data, delayOptions, descriptionField, emptyText, enablePagination, enableRowClickSelect, enableNestedComponent, enableSkeleton, headerSx, highlightedRowIndex, loading, newRowButtonText, newRowButtonContent, onCellProps, onFooterCellProps, onHeadCellProps, onNewRow, onRenderNestedComponent, onRowClick, onRowEnterPress, onRowProps, onSubTreeRows, paginationProps, rowIdField, rowSx, size, showEmptyText, showHeader, showFooter, stickyHeader, scrollProps, showEmptyImage, showNewRowButton, skeletonRows, state, sx, ...tableProps }: TableProps<TData>): import("react/jsx-runtime").JSX.Element;
79
+ declare function Table<TData extends FieldValues>({ alternateColor, autoFocus, bordered, columns, data, delayOptions, descriptionField, emptyText, enablePagination, enableRowClickSelect, enableNestedComponent, enableSkeleton, headerSx, highlightedRowIndex, loading, newRowButtonText, newRowButtonContent, onCellProps, onDescriptionCellProps, onFooterCellProps, onHeadCellProps, onNewRow, onRenderNestedComponent, onRowClick, onRowEnterPress, onRowProps, onSubTreeRows, paginationProps, rowIdField, rowSx, size, showEmptyText, showHeader, showFooter, stickyHeader, scrollProps, showEmptyImage, showNewRowButton, skeletonRows, state, sx, ...tableProps }: TableProps<TData>): import("react/jsx-runtime").JSX.Element;
79
80
  declare namespace Table {
80
81
  var MoreMenu: typeof TableMoreMenu;
81
82
  var MoreMenuItem: typeof TableMoreMenuItem;