react-crud-mui 0.0.1-beta.8 → 0.0.1
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.
- package/dist/components/action-commands/ActionCommands.d.ts +10 -3
- package/dist/components/combobox/ComboBox.d.ts +8 -4
- package/dist/components/detail-page/components/DetailPageModalLayout.d.ts +3 -0
- package/dist/components/detail-page/components/DetailPageStepCommands.d.ts +3 -2
- package/dist/components/detail-page/components/DetailPageSteps.d.ts +5 -2
- package/dist/components/detail-page/components/TriggerValidation.d.ts +3 -0
- package/dist/components/detail-page/hooks/useDetailPageModal.d.ts +24 -21
- package/dist/components/detail-page/hooks/useFormConfirmDirtyChange.d.ts +3 -6
- package/dist/components/detail-page/hooks/useFormPrompt.d.ts +2 -1
- package/dist/components/detail-page/pages/DetailPage.d.ts +2 -0
- package/dist/components/detail-page/pages/DetailPageContent.d.ts +1 -2
- package/dist/components/detail-page/pages/DetailPageData.d.ts +13 -18
- package/dist/components/detail-page/pages/DetailPageDrawer.d.ts +2 -2
- package/dist/components/detail-page/pages/DetailPageForm.d.ts +3 -8
- package/dist/components/detail-page/pages/DetailPageModal.d.ts +8 -3
- package/dist/components/detail-page/pages/DetailPagePopover.d.ts +3 -3
- package/dist/components/editable-list/EditableList.d.ts +4 -5
- package/dist/components/flexbox/FlexBox.d.ts +1 -0
- package/dist/components/form/Field.d.ts +0 -1
- package/dist/components/form/components/FieldWatch.d.ts +2 -1
- package/dist/components/form/components/FormButton.d.ts +1 -1
- package/dist/components/form/components/FormControl.d.ts +7 -2
- package/dist/components/form/controls/FormCheckbox.d.ts +1 -1
- package/dist/components/form/controls/FormComboBox.d.ts +1 -1
- package/dist/components/form/controls/FormDatePicker.d.ts +4 -4
- package/dist/components/form/controls/FormInput.d.ts +3 -3
- package/dist/components/form/controls/FormMoneyInput.d.ts +1 -1
- package/dist/components/form/controls/FormNumberInput.d.ts +1 -1
- package/dist/components/form/controls/FormPhoneInput.d.ts +1 -1
- package/dist/components/form/controls/FormRadioGroup.d.ts +5 -4
- package/dist/components/form/controls/FormSelect.d.ts +2 -2
- package/dist/components/form/controls/FormSwitch.d.ts +2 -2
- package/dist/components/form/hooks/useForm.d.ts +1 -0
- package/dist/components/form/schema/id-name.shema.d.ts +3 -3
- package/dist/components/form/schema/index.d.ts +1 -0
- package/dist/components/form/schema/phone.schema.d.ts +3 -0
- package/dist/components/header/Header.d.ts +3 -2
- package/dist/components/hooks/index.d.ts +1 -1
- package/dist/components/hooks/useSpinDelay.d.ts +34 -0
- package/dist/components/i18n/resources/en.json.d.ts +6 -1
- package/dist/components/i18n/resources/tr.json.d.ts +6 -1
- package/dist/components/icons/Chat.d.ts +1 -1
- package/dist/components/icons/CheckCircleOutline.d.ts +1 -1
- package/dist/components/icons/ChevronDown.d.ts +1 -1
- package/dist/components/icons/ChevronLeft.d.ts +1 -1
- package/dist/components/icons/ChevronRight.d.ts +1 -1
- package/dist/components/icons/Database.d.ts +1 -1
- package/dist/components/icons/Delete.d.ts +1 -1
- package/dist/components/icons/DownloadTo.d.ts +1 -1
- package/dist/components/icons/Edit.d.ts +1 -1
- package/dist/components/icons/EducationTwo.d.ts +1 -1
- package/dist/components/icons/Emergency.d.ts +1 -1
- package/dist/components/icons/Filter.d.ts +1 -1
- package/dist/components/icons/Folder.d.ts +1 -1
- package/dist/components/icons/FormatBullets.d.ts +1 -1
- package/dist/components/icons/GoogleIcon.d.ts +1 -1
- package/dist/components/icons/GroupSenior.d.ts +1 -1
- package/dist/components/icons/Health.d.ts +1 -1
- package/dist/components/icons/InvertColors.d.ts +1 -1
- package/dist/components/icons/Investment.d.ts +1 -1
- package/dist/components/icons/KeyframeBezierIn.d.ts +1 -1
- package/dist/components/icons/Menu.d.ts +1 -1
- package/dist/components/icons/MenuLeft.d.ts +1 -1
- package/dist/components/icons/MenuLeftRight.d.ts +1 -1
- package/dist/components/icons/Minimize.d.ts +1 -1
- package/dist/components/icons/MoreHorizontal.d.ts +1 -1
- package/dist/components/icons/PaletteOutlined.d.ts +1 -1
- package/dist/components/icons/PushPin.d.ts +1 -1
- package/dist/components/icons/Recycle.d.ts +1 -1
- package/dist/components/icons/duotone/Accounts.d.ts +1 -1
- package/dist/components/icons/duotone/AdminEcommerce.d.ts +1 -1
- package/dist/components/icons/duotone/Apps.d.ts +1 -1
- package/dist/components/icons/duotone/Archive.d.ts +1 -1
- package/dist/components/icons/duotone/ArrowLeftToLine.d.ts +1 -1
- package/dist/components/icons/duotone/BadgeDollar.d.ts +1 -1
- package/dist/components/icons/duotone/Calender.d.ts +1 -1
- package/dist/components/icons/duotone/Chat.d.ts +1 -1
- package/dist/components/icons/duotone/CommentsQuestionCheck.d.ts +1 -1
- package/dist/components/icons/duotone/Dashboard.d.ts +1 -1
- package/dist/components/icons/duotone/DataTable.d.ts +1 -1
- package/dist/components/icons/duotone/DiagramProject.d.ts +1 -1
- package/dist/components/icons/duotone/Ecommerce.d.ts +1 -1
- package/dist/components/icons/duotone/Edit.d.ts +1 -1
- package/dist/components/icons/duotone/ElementHub.d.ts +1 -1
- package/dist/components/icons/duotone/FileCircleQuestion.d.ts +1 -1
- package/dist/components/icons/duotone/Folder.d.ts +1 -1
- package/dist/components/icons/duotone/Forward.d.ts +1 -1
- package/dist/components/icons/duotone/Inbox.d.ts +1 -1
- package/dist/components/icons/duotone/Invoice.d.ts +1 -1
- package/dist/components/icons/duotone/LayerGroup.d.ts +1 -1
- package/dist/components/icons/duotone/Logout.d.ts +1 -1
- package/dist/components/icons/duotone/Mail.d.ts +1 -1
- package/dist/components/icons/duotone/MessagesDollar.d.ts +1 -1
- package/dist/components/icons/duotone/Pages.d.ts +1 -1
- package/dist/components/icons/duotone/PersonChalkboard.d.ts +1 -1
- package/dist/components/icons/duotone/PersonCircleCheck.d.ts +1 -1
- package/dist/components/icons/duotone/Pricing.d.ts +1 -1
- package/dist/components/icons/duotone/ProjectChart.d.ts +1 -1
- package/dist/components/icons/duotone/ReadMail.d.ts +1 -1
- package/dist/components/icons/duotone/RectangleCirclePlus.d.ts +1 -1
- package/dist/components/icons/duotone/Reload.d.ts +1 -1
- package/dist/components/icons/duotone/Reply.d.ts +1 -1
- package/dist/components/icons/duotone/Report.d.ts +1 -1
- package/dist/components/icons/duotone/Search.d.ts +1 -1
- package/dist/components/icons/duotone/Send.d.ts +1 -1
- package/dist/components/icons/duotone/Session.d.ts +1 -1
- package/dist/components/icons/duotone/Settings.d.ts +1 -1
- package/dist/components/icons/duotone/StarHalf.d.ts +1 -1
- package/dist/components/icons/duotone/TodoList.d.ts +1 -1
- package/dist/components/icons/duotone/Trash.d.ts +1 -1
- package/dist/components/icons/duotone/UnreadMail.d.ts +1 -1
- package/dist/components/icons/duotone/UserList.d.ts +1 -1
- package/dist/components/icons/duotone/UserProfile.d.ts +1 -1
- package/dist/components/input/Input.d.ts +10 -0
- package/dist/components/input/hooks/useFloatingLabelProps.d.ts +3 -0
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/labels/DateFormat.d.ts +1 -1
- package/dist/components/labels/MailFormat.d.ts +2 -2
- package/dist/components/labels/NumberFormat.d.ts +1 -1
- package/dist/components/labels/PhoneFormat.d.ts +1 -2
- package/dist/components/list-page/components/ListPageCommands.d.ts +1 -1
- package/dist/components/list-page/pages/ListPage.d.ts +2 -2
- package/dist/components/list-page/pages/ListPageContent.d.ts +17 -17
- package/dist/components/list-page/pages/ListPageFilter.d.ts +15 -2
- package/dist/components/list-page/pages/ListPageForm.d.ts +3 -3
- package/dist/components/list-page/pages/ListPageRoute.d.ts +2 -2
- package/dist/components/misc/index.d.ts +4 -8
- package/dist/components/misc/moneyFormat.d.ts +9 -0
- package/dist/components/misc/normalizeError.d.ts +3 -0
- package/dist/components/misc/nullableSchema.d.ts +2 -0
- package/dist/components/misc/toNull.d.ts +2 -0
- package/dist/components/modal/Modal.d.ts +5 -3
- package/dist/components/modal/styles.d.ts +1 -1
- package/dist/components/more-button/MoreButton.d.ts +1 -0
- package/dist/components/more-panel/MorePanel.d.ts +8 -0
- package/dist/components/number-input/NumberInput.d.ts +1 -1
- package/dist/components/page/Page.d.ts +18 -2
- package/dist/components/page/PageDrawer.d.ts +10 -0
- package/dist/components/page/PageModal.d.ts +14 -0
- package/dist/components/page/components/Alerts.d.ts +1 -1
- package/dist/components/page/components/DefaultLayout.d.ts +5 -2
- package/dist/components/page/components/DefaultPanels.d.ts +15 -0
- package/dist/components/page/components/DefaultTabs.d.ts +6 -2
- package/dist/components/page/components/PageContent.d.ts +1 -1
- package/dist/components/page/components/PageDivider.d.ts +1 -1
- package/dist/components/page/hooks/useNormalizeMessages.d.ts +1 -1
- package/dist/components/panel/Panel.d.ts +9 -2
- package/dist/components/phone-input/PhoneInput.d.ts +11 -13
- package/dist/components/progress/Progress.d.ts +9 -0
- package/dist/components/scrollbar/Scrollbar.d.ts +2 -1
- package/dist/components/select/Select.d.ts +9 -4
- package/dist/components/table/Table.d.ts +23 -6
- package/dist/components/table/components/EmptyText.d.ts +2 -2
- package/dist/components/table/components/ExpandButton.d.ts +1 -1
- package/dist/components/table/components/TableMoreMenu.d.ts +4 -3
- package/dist/components/table/components/TableMoreMenuItem.d.ts +2 -2
- package/dist/components/table/components/TableSkeleton.d.ts +1 -1
- package/dist/components/table/utils/getPinningStyle.d.ts +3 -0
- package/dist/components/theme/components/accordion.d.ts +2 -6
- package/dist/components/utils/base.d.ts +10 -3
- package/dist/coreui.js +7843 -20834
- package/dist/index.d.ts +8 -0
- package/package.json +20 -14
- package/dist/components/hooks/useScroll.d.ts +0 -5
- package/dist/components/misc/copyToClipboard.d.ts +0 -1
- package/dist/components/misc/currencyFormat.d.ts +0 -3
- package/dist/components/misc/flattenObject.d.ts +0 -3
- package/dist/components/misc/getIndicesOf.d.ts +0 -1
- package/dist/components/misc/highlightText.d.ts +0 -10
- package/dist/components/misc/isTruty.d.ts +0 -2
- package/dist/components/misc/mergeWithKey.d.ts +0 -2
- package/dist/components/misc/noop.d.ts +0 -1
- package/dist/components/misc/nullToUndefined.d.ts +0 -2
- package/dist/components/misc/pathTools.d.ts +0 -1
- package/dist/components/misc/removeProps.d.ts +0 -3
- package/dist/components/misc/searchInArray.d.ts +0 -8
- package/dist/components/misc/undefinedToNull.d.ts +0 -2
- package/dist/style.css +0 -1
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { FieldValues } from 'react-hook-form';
|
|
3
|
+
import { NeedDataReason } from '../detail-page/pages/DetailPageContent';
|
|
4
|
+
import { TableMoreMenuProps } from '../table/components/TableMoreMenu';
|
|
5
|
+
export interface ActionCommandsProps<TModel extends FieldValues> extends Omit<TableMoreMenuProps, 'children' | 'open' | 'handleClose' | 'handleOpen'> {
|
|
3
6
|
onEdit?: () => void;
|
|
4
7
|
onView?: () => void;
|
|
5
8
|
onCopy?: () => void;
|
|
@@ -14,6 +17,10 @@ export interface ActionCommandsProps extends PropsWithChildren {
|
|
|
14
17
|
showCopy?: boolean;
|
|
15
18
|
disabled?: boolean;
|
|
16
19
|
confirmOnDelete?: boolean;
|
|
20
|
+
model?: TModel;
|
|
21
|
+
titles?: Record<NeedDataReason, string>;
|
|
22
|
+
children?: (closeEvent: () => void) => ReactNode;
|
|
23
|
+
index: number;
|
|
17
24
|
}
|
|
18
|
-
declare function ActionCommands({ onDelete, onEdit, onCopy, onView, canView, canDelete, canEdit, canCopy, showCopy, showView, showEdit, showDelete, disabled, children, }: ActionCommandsProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
declare function ActionCommands<TModel extends FieldValues>({ onDelete, onEdit, onCopy, onView, canView, canDelete, canEdit, canCopy, showCopy, showView, showEdit, showDelete, disabled, children, titles, ...tableMoreProps }: ActionCommandsProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
19
26
|
export default ActionCommands;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Ref } from 'react';
|
|
2
2
|
import { FieldValues } from 'react-hook-form';
|
|
3
|
-
import { AutocompleteProps
|
|
3
|
+
import { AutocompleteProps } from '@mui/material/Autocomplete';
|
|
4
|
+
import { StandardTextFieldProps } from '@mui/material/TextField';
|
|
4
5
|
import { ComboboxTemplate } from './hooks/useComboboxTemplate';
|
|
5
6
|
export type CreatableModel = FieldValues & CreatableModelProps;
|
|
6
7
|
declare const addValueField: unique symbol;
|
|
@@ -9,16 +10,19 @@ type CreatableModelProps = {
|
|
|
9
10
|
[addValueField]?: string;
|
|
10
11
|
[addDisplayTextField]?: string;
|
|
11
12
|
};
|
|
12
|
-
export
|
|
13
|
+
export type ComboboxSize = AutocompleteProps<FieldValues, false, false, false>['size'] | 'smaller';
|
|
14
|
+
export interface ComboBoxProps<T extends CreatableModel, Creatable extends boolean = false> extends Partial<Omit<AutocompleteProps<T, false, true, Creatable>, 'size'>>, Pick<StandardTextFieldProps, 'autoFocus' | 'label' | 'error' | 'helperText'> {
|
|
13
15
|
data?: T[];
|
|
14
16
|
direction?: 'row' | 'column';
|
|
15
|
-
optionTemplate
|
|
17
|
+
optionTemplate?: ComboboxTemplate<T>;
|
|
16
18
|
displayTemplate?: ComboboxTemplate<T>;
|
|
17
19
|
descriptionTemplate?: ComboboxTemplate<T>;
|
|
18
20
|
creatable?: Creatable;
|
|
19
21
|
onCreate?: (text: string) => Promise<T>;
|
|
20
22
|
selectRef?: Ref<unknown>;
|
|
23
|
+
size?: ComboboxSize;
|
|
21
24
|
}
|
|
22
|
-
declare
|
|
25
|
+
export declare const DEFAULT_OPTION_TEMPLATE = "${name}";
|
|
26
|
+
declare function ComboBox<T extends CreatableModel, Creatable extends boolean>({ autoFocus, creatable, data, descriptionTemplate, direction, displayTemplate, error, getOptionLabel, helperText, loading, onBlur, onCreate, optionTemplate, label, size, value, renderOption: onRenderOption, selectRef, ...rest }: ComboBoxProps<T, Creatable>): import("react/jsx-runtime").JSX.Element;
|
|
23
27
|
declare const _default: typeof ComboBox;
|
|
24
28
|
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PageLayoutProps } from '../../page/components/DefaultLayout';
|
|
2
|
+
declare function DetailPageModalLayout({ options, content, alertsContent, footerContent, moreContent, pageHeader, panelsContent, progressContent, tabsContent, tabsHeaderContent, }: PageLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export default DetailPageModalLayout;
|
|
@@ -10,6 +10,7 @@ export type StepsButtonsOptions = {
|
|
|
10
10
|
activeStepIndex: number;
|
|
11
11
|
steps: StepPane[];
|
|
12
12
|
showFinishButton?: boolean;
|
|
13
|
+
finishButtonText?: string;
|
|
13
14
|
loading?: boolean;
|
|
14
15
|
};
|
|
15
16
|
export type StepCommandsStates = {
|
|
@@ -27,11 +28,11 @@ export type StepCommandsLayout = {
|
|
|
27
28
|
};
|
|
28
29
|
export type StepCommandsComponentProps = StepCommandsStates & StepCommandsLayout;
|
|
29
30
|
export interface DetailPageStepCommandsProps extends StepCommandsStates {
|
|
30
|
-
|
|
31
|
+
onCommands?: (props: StepCommandsComponentProps) => ReactNode;
|
|
31
32
|
}
|
|
32
33
|
export declare enum DetailPageStepCommandNames {
|
|
33
34
|
PREV = "prev",
|
|
34
35
|
NEXT = "next"
|
|
35
36
|
}
|
|
36
|
-
declare function DetailPageStepCommands({
|
|
37
|
+
declare function DetailPageStepCommands({ onCommands, ...stepCommandProps }: DetailPageStepCommandsProps): import("react/jsx-runtime").JSX.Element;
|
|
37
38
|
export default DetailPageStepCommands;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { StepProps } from '@mui/material/Step';
|
|
3
|
+
import { StepLabelProps } from '@mui/material/StepLabel';
|
|
4
|
+
import { StepperProps } from '@mui/material/Stepper';
|
|
3
5
|
import { DetailPageStepCommandsProps } from './DetailPageStepCommands';
|
|
4
6
|
export interface DetailPageStepsProps extends Omit<StepperProps, 'onChange'> {
|
|
5
7
|
items: StepPane[];
|
|
6
8
|
status?: StepStatus;
|
|
7
9
|
showFinishButton?: DetailPageStepCommandsProps['options']['showFinishButton'];
|
|
8
|
-
|
|
10
|
+
finishButtonText?: DetailPageStepCommandsProps['options']['finishButtonText'];
|
|
11
|
+
onCommands?: DetailPageStepCommandsProps['onCommands'];
|
|
9
12
|
}
|
|
10
13
|
export type StepPane = Omit<StepProps & StepLabelProps, 'children' | 'key'> & {
|
|
11
14
|
key: string;
|
|
@@ -1,38 +1,29 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { NeedDataReason } from '../pages/DetailPageContent';
|
|
3
|
-
import { NavigatePayload } from '../pages/DetailPageData';
|
|
4
3
|
import { DetailPageModalProps } from '../pages/DetailPageModal';
|
|
5
|
-
export type SelectedModelOptions<TModel> =
|
|
6
|
-
data?: TModel;
|
|
7
|
-
reason?: NeedDataReason;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
};
|
|
4
|
+
export type SelectedModelOptions<TModel extends FieldValues> = Pick<DetailPageModalProps<TModel>, 'reason' | 'data' | 'disabled' | 'onAfterSave' | 'onAfterDelete'>;
|
|
10
5
|
type HelperModelFields = {
|
|
11
6
|
uid?: string;
|
|
12
7
|
index?: number;
|
|
13
8
|
};
|
|
14
|
-
export type UseDetailPageModalReturn<TModel extends FieldValues> = Pick<DetailPageModalProps<TModel>, 'reason' | 'open' | 'onReasonChange' | 'data' | 'disabled'> & HelperModelFields & {
|
|
9
|
+
export type UseDetailPageModalReturn<TModel extends FieldValues> = Pick<DetailPageModalProps<TModel>, 'reason' | 'open' | 'onReasonChange' | 'data' | 'disabled' | 'onAfterSave' | 'onAfterDelete'> & HelperModelFields & {
|
|
15
10
|
onOpen(model?: SelectedModelOptions<TModel>): void;
|
|
16
11
|
onClose(): void;
|
|
17
|
-
onNavigate(paylaod: Pick<NavigatePayload<TModel>, 'direction'>): void;
|
|
18
12
|
};
|
|
19
13
|
export interface UseDetailPageModalProps {
|
|
20
14
|
models?: unknown[];
|
|
21
15
|
uniqueIdParamName?: string;
|
|
22
|
-
onVisibleChange?: (open: boolean) => void;
|
|
23
16
|
}
|
|
24
|
-
declare function useDetailPageModal<TModel extends FieldValues>({ models, uniqueIdParamName,
|
|
25
|
-
readonly onNavigate: ({ direction }: Pick<NavigatePayload<TModel>, "direction">) => void;
|
|
17
|
+
declare function useDetailPageModal<TModel extends FieldValues>({ models, uniqueIdParamName, }?: UseDetailPageModalProps): readonly [({ data, disabled, reason, onAfterDelete, onAfterSave }?: SelectedModelOptions<TModel>) => void, {
|
|
26
18
|
readonly onReasonChange: (reason: NeedDataReason) => void;
|
|
27
19
|
readonly onClose: () => void;
|
|
28
|
-
readonly modalProps?: Omit<import('../../..').ModalProps, "children">;
|
|
20
|
+
readonly modalProps?: Omit<import('../../..').ModalProps, "children" | "open">;
|
|
29
21
|
readonly open?: boolean;
|
|
30
|
-
readonly
|
|
22
|
+
readonly promptOptions?: import('./useFormPrompt').UseFormPromptProps;
|
|
31
23
|
readonly defaultReason?: NeedDataReason;
|
|
32
24
|
readonly defaultSegmentIndex?: number;
|
|
33
25
|
readonly form?: import('../../form/hooks/useForm').UseFormReturn<TModel> | undefined;
|
|
34
|
-
readonly schema?: import('zod').ZodType<
|
|
35
|
-
readonly defaultValues?: import('../../utils').DeepNullable<TModel> | undefined;
|
|
26
|
+
readonly schema?: import('zod').ZodType<TModel, import('zod').ZodTypeDef, TModel> | undefined;
|
|
36
27
|
readonly validationOptions?: import('../../form/hooks/useForm').ValidationOptions<TModel> | undefined;
|
|
37
28
|
readonly className?: string;
|
|
38
29
|
readonly style?: React.CSSProperties;
|
|
@@ -406,27 +397,38 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
406
397
|
readonly onAnimationIterationCapture?: import('react').AnimationEventHandler<HTMLDivElement> | undefined;
|
|
407
398
|
readonly onTransitionEnd?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
|
|
408
399
|
readonly onTransitionEndCapture?: import('react').TransitionEventHandler<HTMLDivElement> | undefined;
|
|
400
|
+
readonly component?: React.ElementType;
|
|
409
401
|
readonly disabled?: boolean;
|
|
410
402
|
readonly loading?: boolean;
|
|
411
403
|
readonly size?: import('../../page/components/PageProvider').PaddingSize;
|
|
412
404
|
readonly icon?: import('react').ReactNode;
|
|
405
|
+
readonly rightContent?: import('react').ReactNode;
|
|
413
406
|
readonly centerContent?: import('react').ReactNode;
|
|
414
407
|
readonly helperText?: import('react').ReactNode;
|
|
415
408
|
readonly headerProps?: import('@mui/material').BoxProps;
|
|
416
409
|
readonly moreOptions?: import('../../..').MoreButtonProps["options"];
|
|
410
|
+
readonly useHeaderIconWrapper?: boolean;
|
|
411
|
+
readonly tabs?: import('../../page/components/DefaultTabs').TabPane[];
|
|
417
412
|
readonly error?: import('../../utils').ServerError;
|
|
418
|
-
readonly
|
|
419
|
-
readonly onCreate?: () => void;
|
|
413
|
+
readonly defaultValues?: import('../pages/DetailPageData').DefaultData<TModel> | undefined;
|
|
420
414
|
readonly footerContent?: import('react').ReactNode;
|
|
421
|
-
readonly
|
|
415
|
+
readonly moreContent?: import('react').ReactNode;
|
|
416
|
+
readonly panels?: import('../../page/components/DefaultPanels').PanelPane[];
|
|
422
417
|
readonly commandsPosition?: import('../../page/Page').CommandsPosition;
|
|
423
418
|
readonly onHeader?: (props: import('../components/DetailPageHeader').DetailPageHeaderProps) => import('react').ReactNode;
|
|
424
419
|
readonly onLayout?: (props: import('../../page/components/DefaultLayout').PageLayoutProps) => import('react').ReactNode;
|
|
425
420
|
readonly showHeader?: boolean;
|
|
421
|
+
readonly showCommands?: boolean;
|
|
422
|
+
readonly morePanelProps?: import('../../more-panel/MorePanel').MorePanelProps;
|
|
423
|
+
readonly progressProps?: import('../../progress/Progress').ProgressProps;
|
|
426
424
|
readonly disableShortCuts?: boolean;
|
|
425
|
+
readonly tabsPosition?: import('../../page/Page').TabsPosition;
|
|
426
|
+
readonly tabExtraContent?: import('react').ReactNode;
|
|
427
427
|
readonly selectedTabIndex?: number;
|
|
428
428
|
readonly onTabChanged?: (selected: import('../../page/components/DefaultTabs').TabChangedPayload) => void;
|
|
429
|
-
readonly onTabs?: (props: import('
|
|
429
|
+
readonly onTabs?: (props: import('../../..').DefaultTabsProps) => import('react').ReactNode;
|
|
430
|
+
readonly bordered?: boolean;
|
|
431
|
+
readonly onDelete?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').DeletePayload<TModel>> | undefined;
|
|
430
432
|
readonly enableClose?: boolean;
|
|
431
433
|
readonly enableCopy?: boolean;
|
|
432
434
|
readonly enableCreate?: boolean;
|
|
@@ -441,6 +443,7 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
441
443
|
readonly alerts?: import('../../page/hooks/useNormalizeMessages').Message[];
|
|
442
444
|
readonly onSegmentChanged?: (index: number) => void;
|
|
443
445
|
readonly hotkeyScopes?: string;
|
|
446
|
+
readonly onCreate?: () => void;
|
|
444
447
|
readonly onSave?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').SavePayload<TModel>> | undefined;
|
|
445
448
|
readonly onDiscardChanges?: () => void;
|
|
446
449
|
readonly onContentLayout?: (props: import('../components/DetailPageDefaultLayout').DetailPageLayoutProps) => React.ReactNode;
|
|
@@ -450,8 +453,8 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
450
453
|
readonly customSteps?: React.ComponentType<import('../components/DetailPageSteps').DetailPageStepsProps>;
|
|
451
454
|
readonly stepsProps?: Partial<import('../components/DetailPageSteps').DetailPageStepsProps>;
|
|
452
455
|
readonly showSuccessMessages?: boolean;
|
|
453
|
-
readonly onAfterSave?: ((result: void | Awaited<TModel> | undefined, variables: import('../pages/DetailPageData').SavePayload<TModel>) => void) | undefined;
|
|
454
|
-
readonly onAfterDelete?: ((variables: import('../pages/DetailPageData').DeletePayload<TModel>) => void) | undefined;
|
|
456
|
+
readonly onAfterSave?: ((result: void | Awaited<TModel> | undefined, variables: import('../pages/DetailPageData').SavePayload<TModel>, form: import('../../form/hooks/useForm').UseFormReturn<TModel>) => void) | undefined;
|
|
457
|
+
readonly onAfterDelete?: ((variables: import('../pages/DetailPageData').DeletePayload<TModel>, form: import('../../form/hooks/useForm').UseFormReturn<TModel>) => void) | undefined;
|
|
455
458
|
readonly uid?: string;
|
|
456
459
|
readonly index?: number;
|
|
457
460
|
}];
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { CloseReason } from '../../page/Page';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Whether to leave modal without saving when form is dirty,default true
|
|
5
|
-
*/
|
|
6
|
-
enabled?: boolean;
|
|
2
|
+
import { UseFormPromptProps } from './useFormPrompt';
|
|
3
|
+
interface UseFormConfirmDirtyChangeOptions extends UseFormPromptProps {
|
|
7
4
|
onClose?: (reason?: CloseReason) => void;
|
|
8
5
|
}
|
|
9
6
|
/**
|
|
10
7
|
* Confirm dirty change either leave or stay on form
|
|
11
8
|
*/
|
|
12
|
-
declare function useFormConfirmDirtyChange({ onClose,
|
|
9
|
+
declare function useFormConfirmDirtyChange({ promptMessage, onClose, confirmDirtyChanges, }: UseFormConfirmDirtyChangeOptions): {
|
|
13
10
|
handleCloseEvent: (reason?: CloseReason) => void;
|
|
14
11
|
setFormDirtyChange: (isDirty: boolean) => void;
|
|
15
12
|
};
|
|
@@ -7,6 +7,7 @@ export interface UseFormPromptProps {
|
|
|
7
7
|
confirmDirtyChanges?: boolean;
|
|
8
8
|
ignoreSearchParams?: boolean;
|
|
9
9
|
beforeUnload?: boolean;
|
|
10
|
+
promptMessage?: string;
|
|
10
11
|
}
|
|
11
|
-
declare function useFormPrompt({ ignoreSearchParams, beforeUnload, confirmDirtyChanges, }: UseFormPromptProps): void;
|
|
12
|
+
declare function useFormPrompt({ ignoreSearchParams, beforeUnload, confirmDirtyChanges, promptMessage, }: UseFormPromptProps): void;
|
|
12
13
|
export default useFormPrompt;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { default as DetailPageDefaultLayout } from '../components/DetailPageDefaultLayout';
|
|
3
3
|
import { default as DetailPageHeader } from '../components/DetailPageHeader';
|
|
4
|
+
import { default as DetailPageSteps } from '../components/DetailPageSteps';
|
|
4
5
|
import { NeedDataReason } from './DetailPageContent';
|
|
5
6
|
import { default as DetailPageDrawer } from './DetailPageDrawer';
|
|
6
7
|
import { DetailPageFormProps } from './DetailPageForm';
|
|
@@ -21,5 +22,6 @@ declare namespace DetailPage {
|
|
|
21
22
|
var Drawer: typeof DetailPageDrawer;
|
|
22
23
|
var Route: typeof DetailPageRoute;
|
|
23
24
|
var Layout: typeof DetailPageDefaultLayout;
|
|
25
|
+
var Steps: typeof DetailPageSteps;
|
|
24
26
|
}
|
|
25
27
|
export default DetailPage;
|
|
@@ -8,8 +8,7 @@ import { DetailPageLayoutProps } from '../components/DetailPageDefaultLayout';
|
|
|
8
8
|
import { DetailPageHeaderProps } from '../components/DetailPageHeader';
|
|
9
9
|
import { DetailPageStepsProps, StepPane } from '../components/DetailPageSteps';
|
|
10
10
|
import { SaveMode } from './DetailPageData';
|
|
11
|
-
export type NeedDataReason = 'create' | 'fetch' | 'copy';
|
|
12
|
-
export type NavigationDirection = 'next' | 'prev';
|
|
11
|
+
export type NeedDataReason = 'create' | 'fetch' | 'copy' | 'view';
|
|
13
12
|
export type DetailPageWrapperLayoutProps = {
|
|
14
13
|
content: ReactNode;
|
|
15
14
|
pageContent: ReactNode;
|
|
@@ -1,37 +1,32 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
|
-
import {
|
|
2
|
+
import { UseFormReturn } from '../../form/hooks/useForm';
|
|
3
3
|
import { DeepNullable } from '../../utils';
|
|
4
4
|
import { DetailPageContentProps, NeedDataReason } from './DetailPageContent';
|
|
5
5
|
export type DataResult<TModel> = TModel | Promise<TModel | void | undefined> | undefined | void;
|
|
6
|
-
export interface DataEvent<TModel, TVariables> {
|
|
7
|
-
(variables: TVariables): DataResult<TModel>;
|
|
6
|
+
export interface DataEvent<TModel extends FieldValues, TVariables> {
|
|
7
|
+
(variables: TVariables, form: UseFormReturn<TModel>): DataResult<TModel>;
|
|
8
8
|
}
|
|
9
|
+
export type DefaultDataFn<TModel extends FieldValues> = (reason: NeedDataReason, data?: TModel) => DeepNullable<TModel> | Promise<DeepNullable<TModel>>;
|
|
10
|
+
export type DefaultData<TModel extends FieldValues> = DeepNullable<TModel> | DefaultDataFn<TModel>;
|
|
9
11
|
export type SaveMode = 'save' | 'save-close' | 'save-create';
|
|
10
12
|
export interface BasePayload {
|
|
11
13
|
reason: NeedDataReason;
|
|
12
14
|
}
|
|
13
|
-
export interface SavePayload<TModel = FieldValues> extends BasePayload {
|
|
15
|
+
export interface SavePayload<TModel extends FieldValues = FieldValues> extends BasePayload {
|
|
14
16
|
model: TModel;
|
|
15
17
|
data?: TModel;
|
|
16
18
|
mode: SaveMode;
|
|
17
19
|
}
|
|
18
|
-
export interface DeletePayload<TModel = FieldValues> extends BasePayload {
|
|
20
|
+
export interface DeletePayload<TModel extends FieldValues = FieldValues> extends BasePayload {
|
|
19
21
|
model: TModel;
|
|
20
22
|
data?: TModel;
|
|
21
23
|
}
|
|
22
|
-
export interface
|
|
23
|
-
direction: NavigationDirection;
|
|
24
|
-
model: TModel;
|
|
25
|
-
}
|
|
26
|
-
export type NavigationDirection = 'next' | 'prev';
|
|
27
|
-
export interface DetailPageDataProps<TModel extends FieldValues> extends Omit<DetailPageContentProps<TModel>, 'onSave' | 'onDelete' | 'onDiscardChanges' | 'onCopy' | 'onSaveCreate' | 'onSaveClose'>, Pick<UseFormOptions<TModel>, 'schema'> {
|
|
24
|
+
export interface DetailPageDataProps<TModel extends FieldValues> extends Omit<DetailPageContentProps<TModel>, 'onSave' | 'onDelete' | 'onDiscardChanges' | 'onCopy' | 'onSaveCreate' | 'onSaveClose'> {
|
|
28
25
|
form: UseFormReturn<TModel>;
|
|
29
|
-
defaultValues?: Readonly<DeepNullable<TModel>>;
|
|
30
26
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @returns if returns data,either in promise or object will bind to form data
|
|
27
|
+
* Get default form values for each particular reason
|
|
33
28
|
*/
|
|
34
|
-
|
|
29
|
+
defaultValues?: DefaultData<TModel>;
|
|
35
30
|
/**
|
|
36
31
|
* Save event
|
|
37
32
|
* @returns if returns data,either in promise or object will bind to form data
|
|
@@ -57,14 +52,14 @@ export interface DetailPageDataProps<TModel extends FieldValues> extends Omit<De
|
|
|
57
52
|
/**
|
|
58
53
|
* Event called after succesfull save
|
|
59
54
|
*/
|
|
60
|
-
onAfterSave?: (result: Awaited<DataResult<TModel>>, variables: SavePayload<TModel>) => void;
|
|
55
|
+
onAfterSave?: (result: Awaited<DataResult<TModel>>, variables: SavePayload<TModel>, form: UseFormReturn<TModel>) => void;
|
|
61
56
|
/**
|
|
62
57
|
* Event called after succesfull delete
|
|
63
58
|
*/
|
|
64
|
-
onAfterDelete?: (variables: DeletePayload<TModel>) => void;
|
|
59
|
+
onAfterDelete?: (variables: DeletePayload<TModel>, form: UseFormReturn<TModel>) => void;
|
|
65
60
|
}
|
|
66
61
|
/**
|
|
67
62
|
* Page component that all data manupulation is handled
|
|
68
63
|
*/
|
|
69
|
-
declare function DetailPageData<TModel extends FieldValues>({ alerts, autoSave, data, defaultValues, error, form, loading, onAfterDelete, onAfterSave, onClose, onDelete, onDiscardChanges, onReasonChange, onSave, reason,
|
|
64
|
+
declare function DetailPageData<TModel extends FieldValues>({ alerts, autoSave, data, defaultValues, error, form, loading, onAfterDelete, onAfterSave, onClose, onDelete, onDiscardChanges, onReasonChange, onSave, reason, showSuccessMessages, ...dpProps }: DetailPageDataProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
70
65
|
export default DetailPageData;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
|
-
import { DrawerProps } from '@mui/material';
|
|
2
|
+
import { DrawerProps } from '@mui/material/Drawer';
|
|
3
3
|
import { default as DetailPageDrawerCommands } from '../components/DetailPageDrawerCommands';
|
|
4
4
|
import { DetailPageModalProps } from './DetailPageModal';
|
|
5
5
|
export interface DetailPageDrawerProps<TModel extends FieldValues> extends Omit<DetailPageModalProps<TModel>, 'modalProps'> {
|
|
@@ -8,7 +8,7 @@ export interface DetailPageDrawerProps<TModel extends FieldValues> extends Omit<
|
|
|
8
8
|
*/
|
|
9
9
|
drawerProps?: DrawerProps;
|
|
10
10
|
}
|
|
11
|
-
declare function DetailPageDrawer<TModel extends FieldValues>({ drawerProps, open, onClose,
|
|
11
|
+
declare function DetailPageDrawer<TModel extends FieldValues>({ drawerProps, open, onClose, promptOptions, ...dpProps }: DetailPageDrawerProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
declare namespace DetailPageDrawer {
|
|
13
13
|
var Commands: typeof DetailPageDrawerCommands;
|
|
14
14
|
}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { UseFormReturn, ValidationOptions } from '../../form/hooks/useForm';
|
|
4
|
-
import { DeepNullable } from '../../utils';
|
|
5
4
|
import { DetailPageDataProps } from './DetailPageData';
|
|
6
|
-
export interface DetailPageFormProps<TModel extends FieldValues> extends Omit<DetailPageDataProps<TModel>, 'form'
|
|
5
|
+
export interface DetailPageFormProps<TModel extends FieldValues> extends Omit<DetailPageDataProps<TModel>, 'form'> {
|
|
7
6
|
form?: UseFormReturn<TModel>;
|
|
8
|
-
schema?: z.ZodType<
|
|
9
|
-
defaultValues?: DeepNullable<TModel>;
|
|
10
|
-
/**
|
|
11
|
-
* Optional validation options
|
|
12
|
-
*/
|
|
7
|
+
schema?: z.ZodType<TModel>;
|
|
13
8
|
validationOptions?: ValidationOptions<TModel>;
|
|
14
9
|
}
|
|
15
|
-
declare function DetailPageForm<TModel extends FieldValues>(
|
|
10
|
+
declare function DetailPageForm<TModel extends FieldValues>({ activeSegmentIndex, schema, defaultValues, validationOptions, data, reason, ...dpProps }: DetailPageFormProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
16
11
|
export default DetailPageForm;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { ModalProps } from '../../modal/Modal';
|
|
3
|
+
import { default as DetailPageModalLayout } from '../components/DetailPageModalLayout';
|
|
4
|
+
import { UseFormPromptProps } from '../hooks/useFormPrompt';
|
|
3
5
|
import { DetailPageProps } from './DetailPage';
|
|
4
6
|
export interface DetailPageModalProps<TModel extends FieldValues> extends DetailPageProps<TModel> {
|
|
5
7
|
/**
|
|
6
8
|
* Antd modal options
|
|
7
9
|
*/
|
|
8
|
-
modalProps?: Omit<ModalProps, 'children'>;
|
|
10
|
+
modalProps?: Omit<ModalProps, 'children' | 'open'>;
|
|
9
11
|
/**
|
|
10
12
|
* Shortcut to open prop of Modal
|
|
11
13
|
*/
|
|
@@ -13,7 +15,10 @@ export interface DetailPageModalProps<TModel extends FieldValues> extends Detail
|
|
|
13
15
|
/**
|
|
14
16
|
* Whether to leave modal without saving when form is dirty,default true
|
|
15
17
|
*/
|
|
16
|
-
|
|
18
|
+
promptOptions?: UseFormPromptProps;
|
|
19
|
+
}
|
|
20
|
+
declare function DetailPageModal<TModel extends FieldValues>({ modalProps, onClose, open, enableClose, promptOptions, ...dpProps }: DetailPageModalProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
declare namespace DetailPageModal {
|
|
22
|
+
var Layout: typeof DetailPageModalLayout;
|
|
17
23
|
}
|
|
18
|
-
declare function DetailPageModal<TModel extends FieldValues>({ modalProps, onClose, open, confirmDirtyChanges, ...rest }: DetailPageModalProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
19
24
|
export default DetailPageModal;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
|
-
import { PopoverProps } from '@mui/material';
|
|
2
|
+
import { PopoverProps } from '@mui/material/Popover';
|
|
3
3
|
import { DetailPageProps } from './DetailPage';
|
|
4
4
|
export interface DetailPagePopoverProps<TModel extends FieldValues> extends DetailPageProps<TModel> {
|
|
5
|
-
popoverOptions?: PopoverProps
|
|
5
|
+
popoverOptions?: Partial<PopoverProps>;
|
|
6
6
|
onClose: () => void;
|
|
7
7
|
anchorEl: HTMLElement | null;
|
|
8
8
|
}
|
|
9
|
-
declare function DetailPagePopover<TModel extends FieldValues>({ popoverOptions, children, onClose, anchorEl, ...
|
|
9
|
+
declare function DetailPagePopover<TModel extends FieldValues>({ popoverOptions, children, onClose, anchorEl, ...dpProps }: DetailPagePopoverProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
export default DetailPagePopover;
|
|
@@ -14,12 +14,11 @@ export declare const ROW_STATE_FIELD = "__$row_state__";
|
|
|
14
14
|
export type RowStates = 'created' | 'modified' | 'pristine';
|
|
15
15
|
export type EditableListContextValue<TModel extends FieldValues, TArrayModel extends FieldArray<TModel, TFieldArrayName> & FieldValues, TFieldArrayName extends FieldArrayPath<TModel>> = UseFieldArrayReturn<TModel, TFieldArrayName, typeof UNIQUE_IDENTIFIER_FIELD_NAME> & Pick<UseDetailPageModalReturn<TArrayModel>, 'onOpen'>;
|
|
16
16
|
export declare const EditableListContext: React.Context<EditableListContextValue<any, any, any> | null>;
|
|
17
|
-
export interface EditingListCommandsProps<TModel extends FieldValues = FieldValues> extends ActionCommandsProps {
|
|
17
|
+
export interface EditingListCommandsProps<TModel extends FieldValues = FieldValues> extends ActionCommandsProps<TModel> {
|
|
18
18
|
editable?: boolean;
|
|
19
19
|
onCancel?: () => void;
|
|
20
|
-
model?: TModel;
|
|
21
20
|
}
|
|
22
|
-
export interface EditableListProps<TModel extends FieldValues, TArrayModel extends FieldArray<TModel, TFieldArrayName> & FieldValues, TFieldArrayName extends FieldArrayPath<TModel> = FieldArrayPath<TModel>> extends TableProps<TArrayModel>, Pick<ActionCommandsProps
|
|
21
|
+
export interface EditableListProps<TModel extends FieldValues, TArrayModel extends FieldArray<TModel, TFieldArrayName> & FieldValues, TFieldArrayName extends FieldArrayPath<TModel> = FieldArrayPath<TModel>> extends Omit<TableProps<TArrayModel>, 'data'>, Pick<ActionCommandsProps<TArrayModel>, 'canCopy' | 'canDelete' | 'canEdit'>, PropsWithChildren {
|
|
23
22
|
/**
|
|
24
23
|
* Array model name of form
|
|
25
24
|
*/
|
|
@@ -73,7 +72,7 @@ export interface EditableListProps<TModel extends FieldValues, TArrayModel exten
|
|
|
73
72
|
/**
|
|
74
73
|
* Custom Commands on header
|
|
75
74
|
*/
|
|
76
|
-
|
|
75
|
+
onCommands?: (props: EditableListCommandsProps<TModel, TFieldArrayName>) => React.ReactNode;
|
|
77
76
|
/**
|
|
78
77
|
* Custom commands when needed to override the default buttons
|
|
79
78
|
*/
|
|
@@ -83,7 +82,7 @@ export interface EditableListProps<TModel extends FieldValues, TArrayModel exten
|
|
|
83
82
|
*/
|
|
84
83
|
commandColProps?: TableColumn<TArrayModel>;
|
|
85
84
|
}
|
|
86
|
-
declare function EditableList<TModel extends FieldValues, TArrayModel extends FieldArray<TModel, TFieldArrayName> & FieldValues, TFieldArrayName extends FieldArrayPath<TModel> = FieldArrayPath<TModel>>({ canCopy, canDelete, canEdit, children, columns, commandColProps,
|
|
85
|
+
declare function EditableList<TModel extends FieldValues, TArrayModel extends FieldArray<TModel, TFieldArrayName> & FieldValues, TFieldArrayName extends FieldArrayPath<TModel> = FieldArrayPath<TModel>>({ canCopy, canDelete, canEdit, children, columns, commandColProps, onCommands, onLayout, detailPageProps, detailType, disabled, enableDeleteAllButton, headerProps, name, newItemTitle, onDelete, onSave, rowCommands, uniqueFields, ...tableProps }: EditableListProps<TModel, TArrayModel, TFieldArrayName>): import("react/jsx-runtime").JSX.Element;
|
|
87
86
|
declare namespace EditableList {
|
|
88
87
|
var Commands: typeof EditableListCommands;
|
|
89
88
|
var RowCommands: typeof ActionCommands;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { BoxProps } from '@mui/material/Box';
|
|
2
|
+
export type FlexBoxProps = React.ComponentProps<typeof FlexBox>;
|
|
2
3
|
declare const FlexBox: import('react').ForwardRefExoticComponent<Omit<BoxProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
3
4
|
export default FlexBox;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { FieldPath, FieldValues, Path } from 'react-hook-form';
|
|
3
|
-
import { BoxProps
|
|
3
|
+
import { BoxProps } from '@mui/material/Box';
|
|
4
|
+
import { SxProps } from '@mui/material/styles';
|
|
4
5
|
interface FieldWatchProps<TFieldValues extends FieldValues = FieldValues> {
|
|
5
6
|
name: FieldPath<TFieldValues>;
|
|
6
7
|
showAsJson?: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldValues, UseFormReturn } from 'react-hook-form';
|
|
2
|
-
import { ButtonProps } from '@mui/material';
|
|
2
|
+
import { ButtonProps } from '@mui/material/Button';
|
|
3
3
|
export type FormButtonProps<TFieldValues extends FieldValues = FieldValues> = {
|
|
4
4
|
onClick: (formMethods: UseFormReturn<TFieldValues>, e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
5
5
|
} & Omit<ButtonProps, 'onClick'>;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { PropsWithChildren, ReactNode } from 'react';
|
|
2
2
|
import { ControllerFieldState } from 'react-hook-form';
|
|
3
|
+
import { BoxProps } from '@mui/material/Box';
|
|
4
|
+
import { FlexBoxProps } from '../../flexbox/FlexBox';
|
|
3
5
|
export interface FormControlProps {
|
|
4
|
-
label?: ReactNode;
|
|
6
|
+
label?: ReactNode | [ReactNode, ReactNode];
|
|
5
7
|
helperText?: ReactNode;
|
|
6
8
|
placement?: 'left' | 'right' | 'top' | 'bottom';
|
|
9
|
+
labelProps?: BoxProps;
|
|
10
|
+
wrapperProps?: FlexBoxProps;
|
|
11
|
+
disabled?: boolean;
|
|
7
12
|
}
|
|
8
|
-
declare function FormControl({ placement, children, label, helperText, error, invalid, }: PropsWithChildren<FormControlProps> & ControllerFieldState): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function FormControl({ placement, children, label, helperText, error, invalid, labelProps, wrapperProps, disabled, }: PropsWithChildren<FormControlProps> & Partial<ControllerFieldState>): import("react/jsx-runtime").JSX.Element;
|
|
9
14
|
export default FormControl;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
|
-
import { CheckboxProps } from '@mui/material';
|
|
2
|
+
import { CheckboxProps } from '@mui/material/Checkbox';
|
|
3
3
|
import { FormControlProps } from '../components/FormControl';
|
|
4
4
|
import { ControlCommonProps } from '../Field';
|
|
5
5
|
export interface FormCheckboxProps<TFieldValues extends FieldValues = FieldValues> extends Omit<CheckboxProps, 'name'>, ControlCommonProps<TFieldValues>, FormControlProps {
|
|
@@ -3,5 +3,5 @@ import { ComboBoxProps, CreatableModel } from '../../combobox/ComboBox';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormComboBoxProps<T extends CreatableModel, Creatable extends boolean = false, TFieldValues extends FieldValues = FieldValues> extends Omit<ComboBoxProps<T, Creatable>, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormComboBox<T extends CreatableModel, Creatable extends boolean, TFieldValues extends FieldValues>({ name, fieldProps, ...comboBoxProps }: FormComboBoxProps<T, Creatable, TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormComboBox<T extends CreatableModel = CreatableModel, Creatable extends boolean = false, TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...comboBoxProps }: FormComboBoxProps<T, Creatable, TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormComboBox;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
|
-
import { StandardTextFieldProps } from '@mui/material';
|
|
3
|
-
import { DatePickerProps
|
|
2
|
+
import { StandardTextFieldProps } from '@mui/material/TextField';
|
|
3
|
+
import { DatePickerProps } from '@mui/x-date-pickers/DatePicker';
|
|
4
4
|
import { Dayjs } from 'dayjs';
|
|
5
5
|
import { ControlCommonProps } from '../Field';
|
|
6
|
-
export type FormDatePickerProps<TFieldValues extends FieldValues = FieldValues> = Partial<
|
|
7
|
-
declare function FormDatePicker<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, slotProps, autoFocus, size, ...dateProps }: FormDatePickerProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export type FormDatePickerProps<TFieldValues extends FieldValues = FieldValues> = Partial<DatePickerProps<Dayjs>> & Pick<StandardTextFieldProps, 'size'> & ControlCommonProps<TFieldValues>;
|
|
7
|
+
declare function FormDatePicker<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, slotProps, autoFocus, size, disabled, ...dateProps }: FormDatePickerProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export default FormDatePicker;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
|
-
import {
|
|
2
|
+
import { InputProps } from '../../input/Input';
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
|
-
export interface FormInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<
|
|
4
|
+
export interface FormInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<InputProps, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, ...inputProps }: FormInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...inputProps }: FormInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormInput;
|
|
@@ -3,5 +3,5 @@ import { MoneyInputProps } from '../../money-input/MoneyInput';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormMoneyInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<MoneyInputProps, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormMoneyInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, ...inputProps }: FormMoneyInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormMoneyInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...inputProps }: FormMoneyInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormMoneyInput;
|
|
@@ -3,5 +3,5 @@ import { NumberInputProps } from '../../number-input/NumberInput';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormNumberInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<NumberInputProps, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormNumberInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, ...inputProps }: FormNumberInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormNumberInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...inputProps }: FormNumberInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormNumberInput;
|
|
@@ -3,5 +3,5 @@ import { PhoneInputProps } from '../../phone-input/PhoneInput';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormPhoneInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<PhoneInputProps, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormPhoneInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, ...inputProps }: FormPhoneInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormPhoneInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...inputProps }: FormPhoneInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormPhoneInput;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
|
-
import { RadioGroupProps
|
|
2
|
+
import { RadioGroupProps } from '@mui/material/RadioGroup';
|
|
3
3
|
import { FormControlProps } from '../components/FormControl';
|
|
4
4
|
import { ControlCommonProps } from '../Field';
|
|
5
5
|
export type RadioGroupData = {
|
|
6
6
|
value: string | number;
|
|
7
7
|
label: string;
|
|
8
8
|
};
|
|
9
|
-
export interface FormRadioGroupProps<TFieldValues extends FieldValues = FieldValues> extends Omit<
|
|
10
|
-
data
|
|
9
|
+
export interface FormRadioGroupProps<TFieldValues extends FieldValues = FieldValues> extends Omit<RadioGroupProps, 'name'>, ControlCommonProps<TFieldValues>, FormControlProps {
|
|
10
|
+
data?: RadioGroupData[];
|
|
11
|
+
disabled?: boolean;
|
|
11
12
|
}
|
|
12
13
|
export declare const StyledFormControlLabel: import('@emotion/styled').StyledComponent<import('@mui/material').FormControlLabelProps & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
13
|
-
declare function FormRadioGroup<TFieldValues extends FieldValues = FieldValues>({ name, label, helperText, placement, fieldProps, data, ...radioGroupProps }: FormRadioGroupProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
declare function FormRadioGroup<TFieldValues extends FieldValues = FieldValues>({ name, label, helperText, placement, fieldProps, disabled, data, ...radioGroupProps }: FormRadioGroupProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
export default FormRadioGroup;
|