react-crud-mui 0.2.110 → 0.3.0

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.
@@ -0,0 +1,17 @@
1
+ import { Dayjs } from 'dayjs';
2
+ interface CalendarProps {
3
+ month: Dayjs;
4
+ effectiveStart: Dayjs | null;
5
+ effectiveEnd: Dayjs | null;
6
+ minDate?: Dayjs;
7
+ maxDate?: Dayjs;
8
+ showPrev: boolean;
9
+ showNext: boolean;
10
+ fullWidth?: boolean;
11
+ onPrev: () => void;
12
+ onNext: () => void;
13
+ onDayClick: (day: Dayjs) => void;
14
+ onDayHover: (day: Dayjs | null) => void;
15
+ }
16
+ declare function CalendarMonth({ month, effectiveStart, effectiveEnd, minDate, maxDate, showPrev, showNext, fullWidth, onPrev, onNext, onDayClick, onDayHover, }: CalendarProps): import("react/jsx-runtime").JSX.Element;
17
+ export default CalendarMonth;
@@ -0,0 +1,24 @@
1
+ import { SxProps, Theme } from '@mui/material/styles';
2
+ import { Dayjs } from 'dayjs';
3
+ export type DateRangeValue = [Dayjs | null, Dayjs | null];
4
+ export interface DateRangePickerProps {
5
+ value?: DateRangeValue;
6
+ onChange?: (value: DateRangeValue) => void;
7
+ label?: string;
8
+ disabled?: boolean;
9
+ readOnly?: boolean;
10
+ size?: 'small' | 'medium';
11
+ minDate?: Dayjs;
12
+ maxDate?: Dayjs;
13
+ /** Date format string (dayjs). Defaults to locale format via MUI X adapter. */
14
+ format?: string;
15
+ allowClear?: boolean;
16
+ fullWidth?: boolean;
17
+ /** Whether [startDate, endDate] can individually be null. Default: [false, false] */
18
+ allowEmpty?: [boolean, boolean];
19
+ invalid?: boolean;
20
+ error?: string;
21
+ sx?: SxProps<Theme>;
22
+ }
23
+ declare function DateRangePicker({ value, onChange, label, disabled, readOnly, size, minDate, maxDate, format, allowClear, fullWidth, allowEmpty, invalid, error, sx, }: DateRangePickerProps): import("react/jsx-runtime").JSX.Element;
24
+ export default DateRangePicker;
@@ -0,0 +1,2 @@
1
+ export { default } from './DateRangePicker';
2
+ export type { DateRangePickerProps, DateRangeValue } from './DateRangePicker';
@@ -0,0 +1,2 @@
1
+ import { Dayjs } from 'dayjs';
2
+ export declare function buildCalendarDays(month: Dayjs): (Dayjs | null)[];
@@ -28,8 +28,8 @@ export type DetailPageStandartCommandsEvents = {
28
28
  onSave?: (args?: unknown) => void;
29
29
  onSaveCreate?: (args?: unknown) => void;
30
30
  onSaveClose?: (args?: unknown) => void;
31
- onCreate?: () => void;
32
- onCopy?: () => void;
31
+ onCreate?: (args?: unknown) => void;
32
+ onCopy?: (args?: unknown) => void;
33
33
  onDiscardChanges?: () => void;
34
34
  onDelete?: () => void;
35
35
  onClose?: (reason?: CloseReason) => void;
@@ -2,10 +2,13 @@ import { FieldValues } from 'react-hook-form';
2
2
  import { NeedDataReason } from '../pages/DetailPageContent';
3
3
  import { NavigatePayload } from '../pages/DetailPageData';
4
4
  import { DetailPageModalProps } from '../pages/DetailPageModal';
5
- export type SelectedModelOptions<TModel extends FieldValues> = Pick<DetailPageModalProps<TModel>, 'reason' | 'data' | 'disabled' | 'onAfterSave' | 'onAfterDelete'>;
5
+ export type SelectedModelOptions<TModel extends FieldValues> = Pick<DetailPageModalProps<TModel>, 'reason' | 'data' | 'disabled' | 'onAfterSave' | 'onAfterDelete'> & {
6
+ args?: unknown;
7
+ };
6
8
  type HelperModelFields = {
7
9
  uid?: string;
8
10
  index?: number;
11
+ args?: unknown;
9
12
  };
10
13
  export type UseDetailPageModalReturn<TModel extends FieldValues> = Pick<DetailPageModalProps<TModel>, 'reason' | 'open' | 'onReasonChange' | 'data' | 'disabled' | 'onAfterSave' | 'onAfterDelete'> & HelperModelFields & {
11
14
  onOpen(model?: SelectedModelOptions<TModel>): void;
@@ -466,7 +469,7 @@ declare function useDetailPageModal<TModel extends FieldValues, TProps extends S
466
469
  readonly activeSegmentIndex?: number;
467
470
  readonly onSegmentChanged?: (index: number) => void;
468
471
  readonly hotkeyScopes?: string;
469
- readonly onCreate?: () => void;
472
+ readonly onCreate?: (args?: unknown) => void;
470
473
  readonly enableCreate?: boolean;
471
474
  readonly enableCopy?: boolean;
472
475
  readonly enableSave?: boolean;
@@ -487,5 +490,6 @@ declare function useDetailPageModal<TModel extends FieldValues, TProps extends S
487
490
  readonly showSuccessMessages?: boolean;
488
491
  readonly uid?: string;
489
492
  readonly index?: number;
493
+ readonly args?: unknown;
490
494
  }];
491
495
  export default useDetailPageModal;
@@ -61,11 +61,11 @@ export interface DetailPageContentProps<TModel extends FieldValues> extends Omit
61
61
  /**
62
62
  * Create new record event
63
63
  */
64
- onCreate?: () => void;
64
+ onCreate?: (args?: unknown) => void;
65
65
  /**
66
66
  * Copy existing model
67
67
  */
68
- onCopy: () => void;
68
+ onCopy?: (args?: unknown) => void;
69
69
  /**
70
70
  * Save event
71
71
  */
@@ -51,7 +51,7 @@ export interface DetailPageDataProps<TModel extends FieldValues> extends Omit<De
51
51
  /**
52
52
  * Called after reason changed
53
53
  */
54
- onReasonChange?: (reason: NeedDataReason) => void;
54
+ onReasonChange?: (reason: NeedDataReason, args?: unknown) => void;
55
55
  /**
56
56
  * Enable to show success messages (Default true)
57
57
  */
@@ -9,6 +9,7 @@ import { FormControlProps } from './components/FormControl';
9
9
  import { default as FormCheckbox } from './controls/FormCheckbox';
10
10
  import { default as FormComboBox } from './controls/FormComboBox';
11
11
  import { default as FormDatePicker } from './controls/FormDatePicker';
12
+ import { default as FormDateRangePicker } from './controls/FormDateRangePicker';
12
13
  import { default as FormInput } from './controls/FormInput';
13
14
  import { default as FormMaskedInput } from './controls/FormMaskedInput';
14
15
  import { default as FormMoneyInput } from './controls/FormMoneyInput';
@@ -51,6 +52,7 @@ declare namespace Field {
51
52
  var Select: typeof FormSelect;
52
53
  var RadioGroup: typeof FormRadioGroup;
53
54
  var DatePicker: typeof FormDatePicker;
55
+ var DateRangePicker: typeof FormDateRangePicker;
54
56
  var PanelSelect: typeof FormPanelSelect;
55
57
  var Set: typeof FieldSet;
56
58
  var Button: typeof FormButton;
@@ -0,0 +1,8 @@
1
+ import { FieldValues } from 'react-hook-form';
2
+ import { DateRangePickerProps } from '../../date-range-picker/DateRangePicker';
3
+ import { ControlCommonProps } from '../Field';
4
+ export interface FormDateRangePickerProps<TFieldValues extends FieldValues = FieldValues> extends Omit<DateRangePickerProps, 'value' | 'onChange' | 'invalid' | 'error'>, ControlCommonProps<TFieldValues> {
5
+ disabled?: boolean;
6
+ }
7
+ declare function FormDateRangePicker<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, formControlProps, ...pickerProps }: FormDateRangePickerProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
8
+ export default FormDateRangePicker;
@@ -23,6 +23,9 @@ declare const _default: {
23
23
  "copyitem": "Copy Item",
24
24
  "crudbuttons.deleteconfirm": "Are you sure to delete item ?",
25
25
  "datepicker.placeholder": "Select date",
26
+ "daterangepicker.label": "Date range",
27
+ "daterangepicker.startLabel": "Start date",
28
+ "daterangepicker.endLabel": "End date",
26
29
  "dayinterval-1": "Today",
27
30
  "dayinterval-180": "Last 6 months",
28
31
  "dayinterval-30": "Last 1 month",
@@ -24,6 +24,9 @@ declare const _default: {
24
24
  "copyitem": "Kaydı kopyala",
25
25
  "crudbuttons.deleteconfirm": "Kaydı silmek istediğinize eminmisiniz ?",
26
26
  "datepicker.placeholder": "Tarih seçiniz...",
27
+ "daterangepicker.label": "Tarih aralığı",
28
+ "daterangepicker.startLabel": "Başlangıç tarihi",
29
+ "daterangepicker.endLabel": "Bitiş tarihi",
27
30
  "dayinterval-1": "Bugün",
28
31
  "dayinterval-180": "Son 6 ay",
29
32
  "dayinterval-30": "Son 1 ay",
@@ -3,7 +3,7 @@ import { ButtonProps } from '@mui/material/Button';
3
3
  import { ListPageCommandsFlag } from '../hooks/useListPageCommandStates';
4
4
  export type ListPageCommandsEvents = {
5
5
  onSearch: () => void;
6
- onCreateItem?: () => void;
6
+ onCreateItem?: (args?: unknown) => void;
7
7
  onClear?: () => void;
8
8
  onExcelExport?: () => void;
9
9
  };
@@ -23,7 +23,7 @@ export type ListPageWrapperLayoutProps = {
23
23
  commandsContent: ReactNode;
24
24
  detailPageContent: ReactNode;
25
25
  };
26
- type DetailPageRender<TDetailPageModel extends FieldValues> = (props: DetailPageModalProps<TDetailPageModel> | DetailPageDrawerProps<TDetailPageModel>, open: ReturnType<typeof useDetailPageModal<TDetailPageModel>>[0], data?: TDetailPageModel[]) => ReactNode;
26
+ type DetailPageRender<TDetailPageModel extends FieldValues> = (props: DetailPageModalProps<TDetailPageModel> | DetailPageDrawerProps<TDetailPageModel>, open: ReturnType<typeof useDetailPageModal<TDetailPageModel>>[0], args?: unknown) => ReactNode;
27
27
  export type OnDetailPage<TDetailPageModel extends FieldValues> = Partial<Record<NeedDataReason, DetailPageRender<TDetailPageModel>>> | DetailPageRender<TDetailPageModel>;
28
28
  export interface ListPageContentProps<TModel extends FieldValues> extends Omit<PageProps, 'commandsContent' | 'alertsContent' | 'autoSave' | 'onHeader' | 'onChange' | 'onCopy' | 'onLayout'>, Pick<ListPageCommandsProps, 'commandsProps'> {
29
29
  /**
@@ -151,7 +151,7 @@ export interface ListPageContentProps<TModel extends FieldValues> extends Omit<P
151
151
  /**
152
152
  * Action click event.Its not get fired in case OnDetailPage provided for create,edit copy reasons
153
153
  */
154
- onActionClick?: (reason: NeedDataReason | 'delete', model?: TModel) => void;
154
+ onActionClick?: (reason: NeedDataReason | 'delete', model?: TModel, args?: unknown) => void;
155
155
  /**
156
156
  * Open detailPage in view mode as default or in which reason provided
157
157
  */