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.
Files changed (178) hide show
  1. package/dist/components/action-commands/ActionCommands.d.ts +10 -3
  2. package/dist/components/combobox/ComboBox.d.ts +8 -4
  3. package/dist/components/detail-page/components/DetailPageModalLayout.d.ts +3 -0
  4. package/dist/components/detail-page/components/DetailPageStepCommands.d.ts +3 -2
  5. package/dist/components/detail-page/components/DetailPageSteps.d.ts +5 -2
  6. package/dist/components/detail-page/components/TriggerValidation.d.ts +3 -0
  7. package/dist/components/detail-page/hooks/useDetailPageModal.d.ts +24 -21
  8. package/dist/components/detail-page/hooks/useFormConfirmDirtyChange.d.ts +3 -6
  9. package/dist/components/detail-page/hooks/useFormPrompt.d.ts +2 -1
  10. package/dist/components/detail-page/pages/DetailPage.d.ts +2 -0
  11. package/dist/components/detail-page/pages/DetailPageContent.d.ts +1 -2
  12. package/dist/components/detail-page/pages/DetailPageData.d.ts +13 -18
  13. package/dist/components/detail-page/pages/DetailPageDrawer.d.ts +2 -2
  14. package/dist/components/detail-page/pages/DetailPageForm.d.ts +3 -8
  15. package/dist/components/detail-page/pages/DetailPageModal.d.ts +8 -3
  16. package/dist/components/detail-page/pages/DetailPagePopover.d.ts +3 -3
  17. package/dist/components/editable-list/EditableList.d.ts +4 -5
  18. package/dist/components/flexbox/FlexBox.d.ts +1 -0
  19. package/dist/components/form/Field.d.ts +0 -1
  20. package/dist/components/form/components/FieldWatch.d.ts +2 -1
  21. package/dist/components/form/components/FormButton.d.ts +1 -1
  22. package/dist/components/form/components/FormControl.d.ts +7 -2
  23. package/dist/components/form/controls/FormCheckbox.d.ts +1 -1
  24. package/dist/components/form/controls/FormComboBox.d.ts +1 -1
  25. package/dist/components/form/controls/FormDatePicker.d.ts +4 -4
  26. package/dist/components/form/controls/FormInput.d.ts +3 -3
  27. package/dist/components/form/controls/FormMoneyInput.d.ts +1 -1
  28. package/dist/components/form/controls/FormNumberInput.d.ts +1 -1
  29. package/dist/components/form/controls/FormPhoneInput.d.ts +1 -1
  30. package/dist/components/form/controls/FormRadioGroup.d.ts +5 -4
  31. package/dist/components/form/controls/FormSelect.d.ts +2 -2
  32. package/dist/components/form/controls/FormSwitch.d.ts +2 -2
  33. package/dist/components/form/hooks/useForm.d.ts +1 -0
  34. package/dist/components/form/schema/id-name.shema.d.ts +3 -3
  35. package/dist/components/form/schema/index.d.ts +1 -0
  36. package/dist/components/form/schema/phone.schema.d.ts +3 -0
  37. package/dist/components/header/Header.d.ts +3 -2
  38. package/dist/components/hooks/index.d.ts +1 -1
  39. package/dist/components/hooks/useSpinDelay.d.ts +34 -0
  40. package/dist/components/i18n/resources/en.json.d.ts +6 -1
  41. package/dist/components/i18n/resources/tr.json.d.ts +6 -1
  42. package/dist/components/icons/Chat.d.ts +1 -1
  43. package/dist/components/icons/CheckCircleOutline.d.ts +1 -1
  44. package/dist/components/icons/ChevronDown.d.ts +1 -1
  45. package/dist/components/icons/ChevronLeft.d.ts +1 -1
  46. package/dist/components/icons/ChevronRight.d.ts +1 -1
  47. package/dist/components/icons/Database.d.ts +1 -1
  48. package/dist/components/icons/Delete.d.ts +1 -1
  49. package/dist/components/icons/DownloadTo.d.ts +1 -1
  50. package/dist/components/icons/Edit.d.ts +1 -1
  51. package/dist/components/icons/EducationTwo.d.ts +1 -1
  52. package/dist/components/icons/Emergency.d.ts +1 -1
  53. package/dist/components/icons/Filter.d.ts +1 -1
  54. package/dist/components/icons/Folder.d.ts +1 -1
  55. package/dist/components/icons/FormatBullets.d.ts +1 -1
  56. package/dist/components/icons/GoogleIcon.d.ts +1 -1
  57. package/dist/components/icons/GroupSenior.d.ts +1 -1
  58. package/dist/components/icons/Health.d.ts +1 -1
  59. package/dist/components/icons/InvertColors.d.ts +1 -1
  60. package/dist/components/icons/Investment.d.ts +1 -1
  61. package/dist/components/icons/KeyframeBezierIn.d.ts +1 -1
  62. package/dist/components/icons/Menu.d.ts +1 -1
  63. package/dist/components/icons/MenuLeft.d.ts +1 -1
  64. package/dist/components/icons/MenuLeftRight.d.ts +1 -1
  65. package/dist/components/icons/Minimize.d.ts +1 -1
  66. package/dist/components/icons/MoreHorizontal.d.ts +1 -1
  67. package/dist/components/icons/PaletteOutlined.d.ts +1 -1
  68. package/dist/components/icons/PushPin.d.ts +1 -1
  69. package/dist/components/icons/Recycle.d.ts +1 -1
  70. package/dist/components/icons/duotone/Accounts.d.ts +1 -1
  71. package/dist/components/icons/duotone/AdminEcommerce.d.ts +1 -1
  72. package/dist/components/icons/duotone/Apps.d.ts +1 -1
  73. package/dist/components/icons/duotone/Archive.d.ts +1 -1
  74. package/dist/components/icons/duotone/ArrowLeftToLine.d.ts +1 -1
  75. package/dist/components/icons/duotone/BadgeDollar.d.ts +1 -1
  76. package/dist/components/icons/duotone/Calender.d.ts +1 -1
  77. package/dist/components/icons/duotone/Chat.d.ts +1 -1
  78. package/dist/components/icons/duotone/CommentsQuestionCheck.d.ts +1 -1
  79. package/dist/components/icons/duotone/Dashboard.d.ts +1 -1
  80. package/dist/components/icons/duotone/DataTable.d.ts +1 -1
  81. package/dist/components/icons/duotone/DiagramProject.d.ts +1 -1
  82. package/dist/components/icons/duotone/Ecommerce.d.ts +1 -1
  83. package/dist/components/icons/duotone/Edit.d.ts +1 -1
  84. package/dist/components/icons/duotone/ElementHub.d.ts +1 -1
  85. package/dist/components/icons/duotone/FileCircleQuestion.d.ts +1 -1
  86. package/dist/components/icons/duotone/Folder.d.ts +1 -1
  87. package/dist/components/icons/duotone/Forward.d.ts +1 -1
  88. package/dist/components/icons/duotone/Inbox.d.ts +1 -1
  89. package/dist/components/icons/duotone/Invoice.d.ts +1 -1
  90. package/dist/components/icons/duotone/LayerGroup.d.ts +1 -1
  91. package/dist/components/icons/duotone/Logout.d.ts +1 -1
  92. package/dist/components/icons/duotone/Mail.d.ts +1 -1
  93. package/dist/components/icons/duotone/MessagesDollar.d.ts +1 -1
  94. package/dist/components/icons/duotone/Pages.d.ts +1 -1
  95. package/dist/components/icons/duotone/PersonChalkboard.d.ts +1 -1
  96. package/dist/components/icons/duotone/PersonCircleCheck.d.ts +1 -1
  97. package/dist/components/icons/duotone/Pricing.d.ts +1 -1
  98. package/dist/components/icons/duotone/ProjectChart.d.ts +1 -1
  99. package/dist/components/icons/duotone/ReadMail.d.ts +1 -1
  100. package/dist/components/icons/duotone/RectangleCirclePlus.d.ts +1 -1
  101. package/dist/components/icons/duotone/Reload.d.ts +1 -1
  102. package/dist/components/icons/duotone/Reply.d.ts +1 -1
  103. package/dist/components/icons/duotone/Report.d.ts +1 -1
  104. package/dist/components/icons/duotone/Search.d.ts +1 -1
  105. package/dist/components/icons/duotone/Send.d.ts +1 -1
  106. package/dist/components/icons/duotone/Session.d.ts +1 -1
  107. package/dist/components/icons/duotone/Settings.d.ts +1 -1
  108. package/dist/components/icons/duotone/StarHalf.d.ts +1 -1
  109. package/dist/components/icons/duotone/TodoList.d.ts +1 -1
  110. package/dist/components/icons/duotone/Trash.d.ts +1 -1
  111. package/dist/components/icons/duotone/UnreadMail.d.ts +1 -1
  112. package/dist/components/icons/duotone/UserList.d.ts +1 -1
  113. package/dist/components/icons/duotone/UserProfile.d.ts +1 -1
  114. package/dist/components/input/Input.d.ts +10 -0
  115. package/dist/components/input/hooks/useFloatingLabelProps.d.ts +3 -0
  116. package/dist/components/input/index.d.ts +1 -0
  117. package/dist/components/labels/DateFormat.d.ts +1 -1
  118. package/dist/components/labels/MailFormat.d.ts +2 -2
  119. package/dist/components/labels/NumberFormat.d.ts +1 -1
  120. package/dist/components/labels/PhoneFormat.d.ts +1 -2
  121. package/dist/components/list-page/components/ListPageCommands.d.ts +1 -1
  122. package/dist/components/list-page/pages/ListPage.d.ts +2 -2
  123. package/dist/components/list-page/pages/ListPageContent.d.ts +17 -17
  124. package/dist/components/list-page/pages/ListPageFilter.d.ts +15 -2
  125. package/dist/components/list-page/pages/ListPageForm.d.ts +3 -3
  126. package/dist/components/list-page/pages/ListPageRoute.d.ts +2 -2
  127. package/dist/components/misc/index.d.ts +4 -8
  128. package/dist/components/misc/moneyFormat.d.ts +9 -0
  129. package/dist/components/misc/normalizeError.d.ts +3 -0
  130. package/dist/components/misc/nullableSchema.d.ts +2 -0
  131. package/dist/components/misc/toNull.d.ts +2 -0
  132. package/dist/components/modal/Modal.d.ts +5 -3
  133. package/dist/components/modal/styles.d.ts +1 -1
  134. package/dist/components/more-button/MoreButton.d.ts +1 -0
  135. package/dist/components/more-panel/MorePanel.d.ts +8 -0
  136. package/dist/components/number-input/NumberInput.d.ts +1 -1
  137. package/dist/components/page/Page.d.ts +18 -2
  138. package/dist/components/page/PageDrawer.d.ts +10 -0
  139. package/dist/components/page/PageModal.d.ts +14 -0
  140. package/dist/components/page/components/Alerts.d.ts +1 -1
  141. package/dist/components/page/components/DefaultLayout.d.ts +5 -2
  142. package/dist/components/page/components/DefaultPanels.d.ts +15 -0
  143. package/dist/components/page/components/DefaultTabs.d.ts +6 -2
  144. package/dist/components/page/components/PageContent.d.ts +1 -1
  145. package/dist/components/page/components/PageDivider.d.ts +1 -1
  146. package/dist/components/page/hooks/useNormalizeMessages.d.ts +1 -1
  147. package/dist/components/panel/Panel.d.ts +9 -2
  148. package/dist/components/phone-input/PhoneInput.d.ts +11 -13
  149. package/dist/components/progress/Progress.d.ts +9 -0
  150. package/dist/components/scrollbar/Scrollbar.d.ts +2 -1
  151. package/dist/components/select/Select.d.ts +9 -4
  152. package/dist/components/table/Table.d.ts +23 -6
  153. package/dist/components/table/components/EmptyText.d.ts +2 -2
  154. package/dist/components/table/components/ExpandButton.d.ts +1 -1
  155. package/dist/components/table/components/TableMoreMenu.d.ts +4 -3
  156. package/dist/components/table/components/TableMoreMenuItem.d.ts +2 -2
  157. package/dist/components/table/components/TableSkeleton.d.ts +1 -1
  158. package/dist/components/table/utils/getPinningStyle.d.ts +3 -0
  159. package/dist/components/theme/components/accordion.d.ts +2 -6
  160. package/dist/components/utils/base.d.ts +10 -3
  161. package/dist/coreui.js +7843 -20834
  162. package/dist/index.d.ts +8 -0
  163. package/package.json +20 -14
  164. package/dist/components/hooks/useScroll.d.ts +0 -5
  165. package/dist/components/misc/copyToClipboard.d.ts +0 -1
  166. package/dist/components/misc/currencyFormat.d.ts +0 -3
  167. package/dist/components/misc/flattenObject.d.ts +0 -3
  168. package/dist/components/misc/getIndicesOf.d.ts +0 -1
  169. package/dist/components/misc/highlightText.d.ts +0 -10
  170. package/dist/components/misc/isTruty.d.ts +0 -2
  171. package/dist/components/misc/mergeWithKey.d.ts +0 -2
  172. package/dist/components/misc/noop.d.ts +0 -1
  173. package/dist/components/misc/nullToUndefined.d.ts +0 -2
  174. package/dist/components/misc/pathTools.d.ts +0 -1
  175. package/dist/components/misc/removeProps.d.ts +0 -3
  176. package/dist/components/misc/searchInArray.d.ts +0 -8
  177. package/dist/components/misc/undefinedToNull.d.ts +0 -2
  178. package/dist/style.css +0 -1
@@ -1,5 +1,8 @@
1
- import { PropsWithChildren } from 'react';
2
- export interface ActionCommandsProps extends PropsWithChildren {
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, StandardTextFieldProps } from '@mui/material';
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 interface ComboBoxProps<T extends CreatableModel, Creatable extends boolean = false> extends Partial<AutocompleteProps<T, false, true, Creatable>>, Pick<StandardTextFieldProps, 'autoFocus' | 'label' | 'error' | 'helperText'> {
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: ComboboxTemplate<T>;
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 function ComboBox<T extends CreatableModel, Creatable extends boolean>({ autoFocus, creatable, data, descriptionTemplate, direction, displayTemplate, error, getOptionLabel, helperText, loading, onBlur, onCreate, optionTemplate, label, renderOption: onRenderOption, selectRef, ...rest }: ComboBoxProps<T, Creatable>): import("react/jsx-runtime").JSX.Element;
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
- commands?: React.ComponentType<StepCommandsComponentProps>;
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({ commands: CustomCommands, ...options }: DetailPageStepCommandsProps): import("react/jsx-runtime").JSX.Element;
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 { StepLabelProps, StepperProps, StepProps } from '@mui/material';
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
- commands?: DetailPageStepCommandsProps['commands'];
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;
@@ -0,0 +1,3 @@
1
+ import { FieldValues } from 'react-hook-form';
2
+ declare function TriggerValidation<TModel extends FieldValues>(): null;
3
+ export default TriggerValidation;
@@ -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, onVisibleChange, }?: UseDetailPageModalProps): readonly [({ data, disabled, reason }?: SelectedModelOptions<TModel>) => void, {
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 confirmDirtyChanges?: boolean;
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<Partial<TModel>, import('zod').ZodTypeDef, Partial<TModel>> | import('zod').ZodType<Partial<TModel>, import('zod').ZodTypeDef, Partial<TModel>>[] | undefined;
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 onDelete?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').DeletePayload<TModel>> | undefined;
419
- readonly onCreate?: () => void;
413
+ readonly defaultValues?: import('../pages/DetailPageData').DefaultData<TModel> | undefined;
420
414
  readonly footerContent?: import('react').ReactNode;
421
- readonly tabs?: import('../../page/components/DefaultTabs').TabPane[];
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('../../page/components/DefaultTabs').DefaultTabsProps) => import('react').ReactNode;
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
- interface UseFormConfirmDirtyChangeOptions {
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, enabled }: UseFormConfirmDirtyChangeOptions): {
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 { UseFormOptions, UseFormReturn } from '../../form/hooks/useForm';
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 NavigatePayload<TModel = FieldValues> extends BasePayload {
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
- * Navigation buttons event when navigation is active
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
- onNavigate?: DataEvent<TModel, NavigatePayload<TModel>>;
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, schema, showSuccessMessages, ...dpProps }: DetailPageDataProps<TModel>): import("react/jsx-runtime").JSX.Element;
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, confirmDirtyChanges, ...dpProps }: DetailPageDrawerProps<TModel>): import("react/jsx-runtime").JSX.Element;
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' | 'defaultValues' | 'schema'> {
5
+ export interface DetailPageFormProps<TModel extends FieldValues> extends Omit<DetailPageDataProps<TModel>, 'form'> {
7
6
  form?: UseFormReturn<TModel>;
8
- schema?: z.ZodType<Partial<TModel>> | z.ZodType<Partial<TModel>>[];
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>(props: DetailPageFormProps<TModel>): import("react/jsx-runtime").JSX.Element;
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
- confirmDirtyChanges?: boolean;
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, ...rest }: DetailPagePopoverProps<TModel>): import("react/jsx-runtime").JSX.Element;
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, 'canCopy' | 'canDelete' | 'canEdit'>, PropsWithChildren {
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
- commands?: (props: EditableListCommandsProps<TModel, TFieldArrayName>) => React.ReactNode;
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, commands, onLayout, detailPageProps, detailType, disabled, enableDeleteAllButton, headerProps, name, newItemTitle, onDelete, onSave, rowCommands, uniqueFields, ...tableProps }: EditableListProps<TModel, TArrayModel, TFieldArrayName>): import("react/jsx-runtime").JSX.Element;
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;
@@ -47,7 +47,6 @@ declare namespace Field {
47
47
  var DatePicker: typeof FormDatePicker;
48
48
  var Button: typeof FormButton;
49
49
  var Watch: typeof FieldWatch;
50
- var schemas: typeof import("./schema");
51
50
  var Group: typeof FieldGroupProvider;
52
51
  }
53
52
  export default Field;
@@ -1,6 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { FieldPath, FieldValues, Path } from 'react-hook-form';
3
- import { BoxProps, SxProps } from '@mui/material';
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 as MuiDatePickerProps } from '@mui/x-date-pickers';
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<MuiDatePickerProps<Dayjs>> & Pick<StandardTextFieldProps, 'size'> & ControlCommonProps<TFieldValues>;
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 { TextFieldProps } from '@mui/material';
2
+ import { InputProps } from '../../input/Input';
3
3
  import { ControlCommonProps } from '../Field';
4
- export interface FormInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<TextFieldProps<'standard'>, 'name'>, ControlCommonProps<TFieldValues> {
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 as MuiRadioGroupProps } from '@mui/material';
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<MuiRadioGroupProps, 'name'>, ControlCommonProps<TFieldValues>, FormControlProps {
10
- data: RadioGroupData[];
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;