@chris-c-brine/form-dialog 1.0.5 → 1.0.6
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/README.md +153 -155
- package/dist/components/buttons/FormResetButton.d.ts +0 -4
- package/dist/components/buttons/FormSubmitButton.d.ts +0 -3
- package/dist/components/dialogs/BaseDialog.d.ts +2 -23
- package/dist/components/dialogs/BlackoutDialog.d.ts +2 -2
- package/dist/components/dialogs/FormDialogActions.d.ts +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/hooks/useDialog.d.ts +16 -12
- package/dist/index.d.ts +0 -1
- package/dist/index.esm.js +65 -70
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +65 -70
- package/dist/index.js.map +1 -1
- package/dist/utils/applyDefaultFormDialogProps.d.ts +5 -5
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/utils.types.d.ts +15 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
2
|
-
import { createContext,
|
|
2
|
+
import { createContext, useState, useEffect, useCallback, useContext, Fragment, useRef, memo, Children } from 'react';
|
|
3
3
|
import { Dialog, DialogTitle, DialogContent, DialogActions, Paper, IconButton, Button, useTheme as useTheme$1, Box, CircularProgress, Badge, Grid } from '@mui/material';
|
|
4
4
|
import { FormContainer, useFormContext, useFormState } from 'react-hook-form-mui';
|
|
5
5
|
import { useTheme } from '@mui/material/styles';
|
|
@@ -12,9 +12,9 @@ import { useFormContext as useFormContext$1 } from 'react-hook-form';
|
|
|
12
12
|
/**
|
|
13
13
|
* A component for rendering a modal dialog with an optional blackout effect.
|
|
14
14
|
*/
|
|
15
|
-
const BlackoutDialog = ({ open = false, blackout = false, id = "blackout-dialog", children, sx,
|
|
15
|
+
const BlackoutDialog = ({ open = false, blackout = false, id = "blackout-dialog", children, sx, ...props }) => {
|
|
16
16
|
const sxProps = blackout ? { ...sx, backgroundColor: "black" } : sx;
|
|
17
|
-
return (jsx(Dialog, { open: open, id: id,
|
|
17
|
+
return (jsx(Dialog, { open: open, id: id, ...props, sx: sxProps, children: children }));
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -36,27 +36,11 @@ const BlackoutDialog = ({ open = false, blackout = false, id = "blackout-dialog"
|
|
|
36
36
|
* consistent styling and behavior.
|
|
37
37
|
*
|
|
38
38
|
* @example
|
|
39
|
-
* // Basic usage with all sections
|
|
40
|
-
* <BaseDialog
|
|
41
|
-
* open={open}
|
|
42
|
-
* onClose={handleClose}
|
|
43
|
-
* title="Confirmation"
|
|
44
|
-
* actions={
|
|
45
|
-
* <>
|
|
46
|
-
* <Button onClick={handleCancel}>Cancel</Button>
|
|
47
|
-
* <Button onClick={handleConfirm}>Confirm</Button>
|
|
48
|
-
* </>
|
|
49
|
-
* }
|
|
50
|
-
* >
|
|
51
|
-
* Are you sure you want to proceed?
|
|
52
|
-
* </BaseDialog>
|
|
53
|
-
*
|
|
54
|
-
* @example
|
|
55
39
|
* // Customized with section props
|
|
56
40
|
* <BaseDialog
|
|
57
41
|
* open={isOpen}
|
|
58
42
|
* title="Advanced Settings"
|
|
59
|
-
* titleProps={{ sx: {
|
|
43
|
+
* titleProps={{ sx: { backgroundColor: 'primary.main', color: 'white' } }}
|
|
60
44
|
* contentProps={{ sx: { p: 3 } }}
|
|
61
45
|
* actionsProps={{ sx: { justifyContent: 'space-between' } }}
|
|
62
46
|
* actions={<SettingsDialogActions />}
|
|
@@ -127,7 +111,6 @@ FormDialogContext.displayName = "FormDialogContext";
|
|
|
127
111
|
|
|
128
112
|
// Create a context that will hold the parent theme
|
|
129
113
|
const ParentThemeContext = createContext(null);
|
|
130
|
-
const useParentTheme = () => useContext(ParentThemeContext);
|
|
131
114
|
const ThemeBridge = ({ children }) => {
|
|
132
115
|
const parentTheme = useTheme();
|
|
133
116
|
const [themeSnapshot, setThemeSnapshot] = useState(parentTheme);
|
|
@@ -202,22 +185,22 @@ const FormDialogProvider = ({ children, ...value }) => {
|
|
|
202
185
|
*/
|
|
203
186
|
const FormDialog = ({ formProps, children, open, onClose, ...dialogProps }) => {
|
|
204
187
|
const PaperComponent = useCallback((props) => jsx(PaperForm, { formProps: formProps, ...props }), [formProps]);
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
188
|
+
const FormDialogContent = useCallback(() => (jsx(BaseDialog, { PaperComponent: PaperComponent, open: open, onClose: onClose, closeButton: jsx(IconButton, { sx: {
|
|
189
|
+
position: "absolute",
|
|
190
|
+
top: 8,
|
|
191
|
+
right: 8,
|
|
192
|
+
}, onClick: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e, 'escapeKeyDown'), children: jsx(Close, { fontSize: "small", "aria-label": "close-form-dialog" }) }), disableRestoreFocus: true, disableEnforceFocus: false, disableAutoFocus: false, ...merge({
|
|
193
|
+
actionsProps: { sx: { pt: 2.5 } },
|
|
194
|
+
contentProps: {
|
|
195
|
+
sx: {
|
|
196
|
+
display: "flex",
|
|
197
|
+
justifyContent: "center",
|
|
198
|
+
boxSizing: "border-box",
|
|
199
|
+
maxHeight: `calc(100vh - 235px)`, // 235 estimate using H4 title & default FormDialogActions
|
|
200
|
+
},
|
|
213
201
|
},
|
|
214
|
-
},
|
|
215
|
-
|
|
216
|
-
return (jsx(FormDialogProvider, { open: open, closeDialog: onClose, children: jsx(BaseDialog, { PaperComponent: PaperComponent, open: open, onClose: onClose, closeButton: jsx(IconButton, { sx: {
|
|
217
|
-
position: "absolute",
|
|
218
|
-
top: 8,
|
|
219
|
-
right: 8,
|
|
220
|
-
}, onClick: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e, 'escapeKeyDown'), children: jsx(Close, { fontSize: "small", "aria-label": "close-form-dialog" }) }), ...baseDialogProps, children: children }) }));
|
|
202
|
+
}, dialogProps), children: children })), [open, onClose, dialogProps, children, PaperComponent]);
|
|
203
|
+
return (jsx(FormDialogProvider, { open: open, closeDialog: onClose, children: jsx(FormDialogContent, {}) }));
|
|
221
204
|
};
|
|
222
205
|
|
|
223
206
|
// src/components/dialogs/FormDialog/hooks/useFormDialog.ts
|
|
@@ -294,8 +277,20 @@ const deepCompare = (a, b, equalEmpty = false) => {
|
|
|
294
277
|
deepCompare.displayName = "deepCompare";
|
|
295
278
|
|
|
296
279
|
function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cancelProps, variant = "iconText" }) {
|
|
280
|
+
// Max Attempts
|
|
297
281
|
const maxAttempts = (submitProps === null || submitProps === void 0 ? void 0 : submitProps.maxAttempts) || Infinity;
|
|
298
282
|
const hasMaxAttempts = isFinite(maxAttempts) && maxAttempts > 0;
|
|
283
|
+
// Grid Container
|
|
284
|
+
const gridContainerProps = {
|
|
285
|
+
justifyContent: "space-between",
|
|
286
|
+
minWidth: 275,
|
|
287
|
+
px: 1,
|
|
288
|
+
pb: 1.5,
|
|
289
|
+
columnGap: 1,
|
|
290
|
+
width: "100%",
|
|
291
|
+
...gridProps,
|
|
292
|
+
};
|
|
293
|
+
// Reset Button
|
|
299
294
|
let resetChildren = undefined;
|
|
300
295
|
if (variant == "icon")
|
|
301
296
|
resetChildren = jsx(Refresh, {});
|
|
@@ -306,15 +301,7 @@ function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cance
|
|
|
306
301
|
...(resetChildren ? { children: resetChildren } : {}),
|
|
307
302
|
...omit(resetProps, "disabled"),
|
|
308
303
|
};
|
|
309
|
-
|
|
310
|
-
justifyContent: "space-between",
|
|
311
|
-
minWidth: 275,
|
|
312
|
-
px: 1,
|
|
313
|
-
pb: 1.5,
|
|
314
|
-
columnGap: 1,
|
|
315
|
-
width: "100%",
|
|
316
|
-
...gridProps,
|
|
317
|
-
};
|
|
304
|
+
// Cancel Button
|
|
318
305
|
let cancelChildren = undefined;
|
|
319
306
|
if (variant == "icon")
|
|
320
307
|
cancelChildren = jsx(Close, {});
|
|
@@ -324,6 +311,7 @@ function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cance
|
|
|
324
311
|
...(cancelChildren ? { children: cancelChildren } : {}),
|
|
325
312
|
...cancelProps,
|
|
326
313
|
};
|
|
314
|
+
// Submit Button
|
|
327
315
|
let submitChildren = {};
|
|
328
316
|
if (variant == "icon")
|
|
329
317
|
submitChildren = { children: jsx(Fragment$1, {}), altIcon: jsx(Save, {}) };
|
|
@@ -333,12 +321,7 @@ function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cance
|
|
|
333
321
|
...submitChildren,
|
|
334
322
|
...submitProps,
|
|
335
323
|
};
|
|
336
|
-
return {
|
|
337
|
-
resetButtonProps,
|
|
338
|
-
gridContainerProps,
|
|
339
|
-
cancelButtonProps,
|
|
340
|
-
submitButtonProps,
|
|
341
|
-
};
|
|
324
|
+
return { resetButtonProps, gridContainerProps, cancelButtonProps, submitButtonProps };
|
|
342
325
|
}
|
|
343
326
|
|
|
344
327
|
const useMaxAttempts = ({ maxAttempts }) => {
|
|
@@ -513,20 +496,40 @@ const usePersistedForm = ({ formName = "" }) => {
|
|
|
513
496
|
*
|
|
514
497
|
* @example
|
|
515
498
|
* // With initial configuration
|
|
516
|
-
* const { dialogProps } = useDialog({ keepMounted:
|
|
499
|
+
* const { dialogProps } = useDialog({ keepMounted: true});
|
|
517
500
|
*
|
|
518
501
|
*
|
|
519
502
|
* @param props - Optional configuration options
|
|
520
503
|
*/
|
|
521
504
|
const useDialog = (props) => {
|
|
522
|
-
var _a;
|
|
523
505
|
const [open, setOpen] = useState(!!(props === null || props === void 0 ? void 0 : props.open));
|
|
524
|
-
const
|
|
525
|
-
const
|
|
506
|
+
const previousFocus = useRef(null);
|
|
507
|
+
const onClose = useCallback(() => {
|
|
508
|
+
setOpen(false);
|
|
509
|
+
// Restore focus after a small delay to ensure the dialog has fully closed
|
|
510
|
+
setTimeout(() => {
|
|
511
|
+
if (previousFocus.current) {
|
|
512
|
+
previousFocus.current.focus();
|
|
513
|
+
}
|
|
514
|
+
}, 100);
|
|
515
|
+
}, []);
|
|
516
|
+
const openDialog = useCallback(() => {
|
|
517
|
+
// Store the current active element before opening dialog
|
|
518
|
+
previousFocus.current = document.activeElement;
|
|
519
|
+
setOpen(true);
|
|
520
|
+
}, []);
|
|
526
521
|
return {
|
|
527
522
|
closeDialog: onClose,
|
|
528
523
|
openDialog,
|
|
529
|
-
dialogProps: {
|
|
524
|
+
dialogProps: {
|
|
525
|
+
open,
|
|
526
|
+
onClose,
|
|
527
|
+
// Add to ensure that the dialog properly handles focus
|
|
528
|
+
disableRestoreFocus: true,
|
|
529
|
+
disableEnforceFocus: false,
|
|
530
|
+
disableAutoFocus: false,
|
|
531
|
+
...props === null || props === void 0 ? void 0 : props.dialogProps
|
|
532
|
+
}
|
|
530
533
|
};
|
|
531
534
|
};
|
|
532
535
|
|
|
@@ -644,16 +647,16 @@ FormCancelButton.displayName = "FormCancelButton";
|
|
|
644
647
|
* Process Payment
|
|
645
648
|
* </LoadingButton>
|
|
646
649
|
*/
|
|
647
|
-
const LoadingButton = ({ children, loading, altIcon, ...props }) => {
|
|
650
|
+
const LoadingButton = ({ children, loading = false, altIcon, ...props }) => {
|
|
648
651
|
const theme = useTheme$1();
|
|
649
|
-
return (jsxs(Button, { ...props, children: [!loading ? (jsx(Box, { sx: {
|
|
652
|
+
return (jsxs(Button, { ...props, children: [!loading ? altIcon : (jsx(Box, { sx: {
|
|
650
653
|
display: "flex",
|
|
651
654
|
alignItems: "center",
|
|
652
655
|
justifyContent: "center",
|
|
653
656
|
width: "100%",
|
|
654
657
|
height: "auto",
|
|
655
658
|
mr: 1,
|
|
656
|
-
}, children: jsx(CircularProgress, { color: "inherit", size: theme.typography.fontSize }) }))
|
|
659
|
+
}, children: jsx(CircularProgress, { color: "inherit", size: theme.typography.fontSize }) })), children] }));
|
|
657
660
|
};
|
|
658
661
|
|
|
659
662
|
/**
|
|
@@ -671,9 +674,6 @@ const LoadingButton = ({ children, loading, altIcon, ...props }) => {
|
|
|
671
674
|
* - Explicit-disabled prop
|
|
672
675
|
* - Form-wide disabled state from FormDialogContext
|
|
673
676
|
*
|
|
674
|
-
* @example
|
|
675
|
-
* // Basic usage
|
|
676
|
-
* <FormSubmitButton />
|
|
677
677
|
*
|
|
678
678
|
* @example
|
|
679
679
|
* // With custom text and max attempts
|
|
@@ -696,7 +696,7 @@ const FormSubmitButton = memo(function ({ showAttempts, maxAttempts, children =
|
|
|
696
696
|
const { disabled: disabledForm } = useFormDialog();
|
|
697
697
|
const disabled = formState.isSubmitting || formState.isLoading || props.disabled || disabledForm;
|
|
698
698
|
const hasMaxAttempts = maxAttempts && isFinite(maxAttempts);
|
|
699
|
-
return (jsx(LoadingButton, { loading:
|
|
699
|
+
return (jsx(LoadingButton, { loading: formState.isSubmitting || formState.isLoading, variant: "contained", type: "submit", size: "large", disabled: disabled, ...props, children: jsx(Badge, { badgeContent: formState.submitCount || (formState.disabled ? maxAttempts : undefined), color: disabled ? "error" : "warning", invisible: !hasMaxAttempts && !showAttempts, children: children }) }));
|
|
700
700
|
});
|
|
701
701
|
FormSubmitButton.displayName = "FormSubmitButton";
|
|
702
702
|
|
|
@@ -717,10 +717,6 @@ FormSubmitButton.displayName = "FormSubmitButton";
|
|
|
717
717
|
* - Form-wide disabled state from FormDialogContext
|
|
718
718
|
*
|
|
719
719
|
* @example
|
|
720
|
-
* // Basic usage
|
|
721
|
-
* <FormResetButton />
|
|
722
|
-
*
|
|
723
|
-
* @example
|
|
724
720
|
* // With persistence integration
|
|
725
721
|
* <FormResetButton formKey="user-profile-form" />
|
|
726
722
|
*
|
|
@@ -742,7 +738,6 @@ const FormResetButton = memo(function (props) {
|
|
|
742
738
|
const { reset } = useFormContext();
|
|
743
739
|
const { isSubmitting, isLoading, isDirty } = useFormState();
|
|
744
740
|
const { disabled: disabledForm } = useFormDialog();
|
|
745
|
-
useParentTheme();
|
|
746
741
|
const keepSubmitCount = !!(props === null || props === void 0 ? void 0 : props.keepCount);
|
|
747
742
|
const handleOnClick = useCallback(() => {
|
|
748
743
|
reset(undefined, { keepSubmitCount, keepIsSubmitted: keepSubmitCount });
|
|
@@ -804,7 +799,7 @@ FormResetButton.displayName = "FormResetButton";
|
|
|
804
799
|
* </Grid>
|
|
805
800
|
* </Grid>
|
|
806
801
|
*/
|
|
807
|
-
const GridSpacer = () => jsx(Grid, { flex: "1 0 0" });
|
|
802
|
+
const GridSpacer = () => jsx(Grid, { flex: "1 0 0", sx: { w: 0 } });
|
|
808
803
|
|
|
809
804
|
/**
|
|
810
805
|
* Standard set of form dialog action buttons with consistent styling and behavior
|
|
@@ -888,5 +883,5 @@ const AutoGrid = ({ components, columnCount = 1, ...props }) => (jsx(Grid, { con
|
|
|
888
883
|
xs: 12 / columnCount,
|
|
889
884
|
}, children: child }, child.key))) }));
|
|
890
885
|
|
|
891
|
-
export { AutoGrid, BaseDialog, BlackoutDialog, FormCancelButton, FormDialog, FormDialogActions, FormDialogProvider, FormResetButton, FormSubmitButton, GridSpacer, PaperForm, PersistForm,
|
|
886
|
+
export { AutoGrid, BaseDialog, BlackoutDialog, FormCancelButton, FormDialog, FormDialogActions, FormDialogProvider, FormResetButton, FormSubmitButton, GridSpacer, LoadingButton, PaperForm, PersistForm, useDialog, useFormDialog, usePersistedForm };
|
|
892
887
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/components/dialogs/BlackoutDialog.tsx","../src/components/dialogs/BaseDialog.tsx","../src/components/forms/PaperForm.tsx","../src/state/FormDialogContext.ts","../src/utils/ThemeBridge.tsx","../src/state/FormDialogProvider.tsx","../src/components/dialogs/FormDialog.tsx","../src/hooks/useFormDialog.ts","../src/utils/hasMaxAttempts.ts","../src/utils/deepCompare.ts","../src/utils/applyDefaultFormDialogProps.tsx","../src/hooks/useMaxAttempts.ts","../src/state/createFormChangeStore.ts","../src/hooks/useOnMount.ts","../src/hooks/usePersistedForm.tsx","../src/hooks/useDialog.ts","../src/components/forms/PersistForm.tsx","../src/components/buttons/FormCancelButton.tsx","../src/components/buttons/LoadingButton.tsx","../src/components/buttons/FormSubmitButton.tsx","../src/components/buttons/FormResetButton.tsx","../src/components/GridSpacer.tsx","../src/components/dialogs/FormDialogActions.tsx","../src/components/AutoGrid.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["_jsx","_jsxs","useMuiTheme","CloseIcon","RefreshIcon","_Fragment","SaveIcon","useTheme","useFormContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/components/dialogs/BlackoutDialog.tsx","../src/components/dialogs/BaseDialog.tsx","../src/components/forms/PaperForm.tsx","../src/state/FormDialogContext.ts","../src/utils/ThemeBridge.tsx","../src/state/FormDialogProvider.tsx","../src/components/dialogs/FormDialog.tsx","../src/hooks/useFormDialog.ts","../src/utils/hasMaxAttempts.ts","../src/utils/deepCompare.ts","../src/utils/applyDefaultFormDialogProps.tsx","../src/hooks/useMaxAttempts.ts","../src/state/createFormChangeStore.ts","../src/hooks/useOnMount.ts","../src/hooks/usePersistedForm.tsx","../src/hooks/useDialog.ts","../src/components/forms/PersistForm.tsx","../src/components/buttons/FormCancelButton.tsx","../src/components/buttons/LoadingButton.tsx","../src/components/buttons/FormSubmitButton.tsx","../src/components/buttons/FormResetButton.tsx","../src/components/GridSpacer.tsx","../src/components/dialogs/FormDialogActions.tsx","../src/components/AutoGrid.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["_jsx","_jsxs","useMuiTheme","CloseIcon","RefreshIcon","_Fragment","SaveIcon","useTheme","useFormContext"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
2
|
-
import { createContext,
|
|
2
|
+
import { createContext, useState, useEffect, useCallback, useContext, Fragment, useRef, memo, Children } from 'react';
|
|
3
3
|
import { Dialog, DialogTitle, DialogContent, DialogActions, Paper, IconButton, Button, useTheme as useTheme$1, Box, CircularProgress, Badge, Grid } from '@mui/material';
|
|
4
4
|
import { FormContainer, useFormContext, useFormState } from 'react-hook-form-mui';
|
|
5
5
|
import { useTheme } from '@mui/material/styles';
|
|
@@ -12,9 +12,9 @@ import { useFormContext as useFormContext$1 } from 'react-hook-form';
|
|
|
12
12
|
/**
|
|
13
13
|
* A component for rendering a modal dialog with an optional blackout effect.
|
|
14
14
|
*/
|
|
15
|
-
const BlackoutDialog = ({ open = false, blackout = false, id = "blackout-dialog", children, sx,
|
|
15
|
+
const BlackoutDialog = ({ open = false, blackout = false, id = "blackout-dialog", children, sx, ...props }) => {
|
|
16
16
|
const sxProps = blackout ? { ...sx, backgroundColor: "black" } : sx;
|
|
17
|
-
return (jsx(Dialog, { open: open, id: id,
|
|
17
|
+
return (jsx(Dialog, { open: open, id: id, ...props, sx: sxProps, children: children }));
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -36,27 +36,11 @@ const BlackoutDialog = ({ open = false, blackout = false, id = "blackout-dialog"
|
|
|
36
36
|
* consistent styling and behavior.
|
|
37
37
|
*
|
|
38
38
|
* @example
|
|
39
|
-
* // Basic usage with all sections
|
|
40
|
-
* <BaseDialog
|
|
41
|
-
* open={open}
|
|
42
|
-
* onClose={handleClose}
|
|
43
|
-
* title="Confirmation"
|
|
44
|
-
* actions={
|
|
45
|
-
* <>
|
|
46
|
-
* <Button onClick={handleCancel}>Cancel</Button>
|
|
47
|
-
* <Button onClick={handleConfirm}>Confirm</Button>
|
|
48
|
-
* </>
|
|
49
|
-
* }
|
|
50
|
-
* >
|
|
51
|
-
* Are you sure you want to proceed?
|
|
52
|
-
* </BaseDialog>
|
|
53
|
-
*
|
|
54
|
-
* @example
|
|
55
39
|
* // Customized with section props
|
|
56
40
|
* <BaseDialog
|
|
57
41
|
* open={isOpen}
|
|
58
42
|
* title="Advanced Settings"
|
|
59
|
-
* titleProps={{ sx: {
|
|
43
|
+
* titleProps={{ sx: { backgroundColor: 'primary.main', color: 'white' } }}
|
|
60
44
|
* contentProps={{ sx: { p: 3 } }}
|
|
61
45
|
* actionsProps={{ sx: { justifyContent: 'space-between' } }}
|
|
62
46
|
* actions={<SettingsDialogActions />}
|
|
@@ -127,7 +111,6 @@ FormDialogContext.displayName = "FormDialogContext";
|
|
|
127
111
|
|
|
128
112
|
// Create a context that will hold the parent theme
|
|
129
113
|
const ParentThemeContext = createContext(null);
|
|
130
|
-
const useParentTheme = () => useContext(ParentThemeContext);
|
|
131
114
|
const ThemeBridge = ({ children }) => {
|
|
132
115
|
const parentTheme = useTheme();
|
|
133
116
|
const [themeSnapshot, setThemeSnapshot] = useState(parentTheme);
|
|
@@ -202,22 +185,22 @@ const FormDialogProvider = ({ children, ...value }) => {
|
|
|
202
185
|
*/
|
|
203
186
|
const FormDialog = ({ formProps, children, open, onClose, ...dialogProps }) => {
|
|
204
187
|
const PaperComponent = useCallback((props) => jsx(PaperForm, { formProps: formProps, ...props }), [formProps]);
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
188
|
+
const FormDialogContent = useCallback(() => (jsx(BaseDialog, { PaperComponent: PaperComponent, open: open, onClose: onClose, closeButton: jsx(IconButton, { sx: {
|
|
189
|
+
position: "absolute",
|
|
190
|
+
top: 8,
|
|
191
|
+
right: 8,
|
|
192
|
+
}, onClick: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e, 'escapeKeyDown'), children: jsx(Close, { fontSize: "small", "aria-label": "close-form-dialog" }) }), disableRestoreFocus: true, disableEnforceFocus: false, disableAutoFocus: false, ...merge({
|
|
193
|
+
actionsProps: { sx: { pt: 2.5 } },
|
|
194
|
+
contentProps: {
|
|
195
|
+
sx: {
|
|
196
|
+
display: "flex",
|
|
197
|
+
justifyContent: "center",
|
|
198
|
+
boxSizing: "border-box",
|
|
199
|
+
maxHeight: `calc(100vh - 235px)`, // 235 estimate using H4 title & default FormDialogActions
|
|
200
|
+
},
|
|
213
201
|
},
|
|
214
|
-
},
|
|
215
|
-
|
|
216
|
-
return (jsx(FormDialogProvider, { open: open, closeDialog: onClose, children: jsx(BaseDialog, { PaperComponent: PaperComponent, open: open, onClose: onClose, closeButton: jsx(IconButton, { sx: {
|
|
217
|
-
position: "absolute",
|
|
218
|
-
top: 8,
|
|
219
|
-
right: 8,
|
|
220
|
-
}, onClick: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e, 'escapeKeyDown'), children: jsx(Close, { fontSize: "small", "aria-label": "close-form-dialog" }) }), ...baseDialogProps, children: children }) }));
|
|
202
|
+
}, dialogProps), children: children })), [open, onClose, dialogProps, children, PaperComponent]);
|
|
203
|
+
return (jsx(FormDialogProvider, { open: open, closeDialog: onClose, children: jsx(FormDialogContent, {}) }));
|
|
221
204
|
};
|
|
222
205
|
|
|
223
206
|
// src/components/dialogs/FormDialog/hooks/useFormDialog.ts
|
|
@@ -294,8 +277,20 @@ const deepCompare = (a, b, equalEmpty = false) => {
|
|
|
294
277
|
deepCompare.displayName = "deepCompare";
|
|
295
278
|
|
|
296
279
|
function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cancelProps, variant = "iconText" }) {
|
|
280
|
+
// Max Attempts
|
|
297
281
|
const maxAttempts = (submitProps === null || submitProps === void 0 ? void 0 : submitProps.maxAttempts) || Infinity;
|
|
298
282
|
const hasMaxAttempts = isFinite(maxAttempts) && maxAttempts > 0;
|
|
283
|
+
// Grid Container
|
|
284
|
+
const gridContainerProps = {
|
|
285
|
+
justifyContent: "space-between",
|
|
286
|
+
minWidth: 275,
|
|
287
|
+
px: 1,
|
|
288
|
+
pb: 1.5,
|
|
289
|
+
columnGap: 1,
|
|
290
|
+
width: "100%",
|
|
291
|
+
...gridProps,
|
|
292
|
+
};
|
|
293
|
+
// Reset Button
|
|
299
294
|
let resetChildren = undefined;
|
|
300
295
|
if (variant == "icon")
|
|
301
296
|
resetChildren = jsx(Refresh, {});
|
|
@@ -306,15 +301,7 @@ function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cance
|
|
|
306
301
|
...(resetChildren ? { children: resetChildren } : {}),
|
|
307
302
|
...omit(resetProps, "disabled"),
|
|
308
303
|
};
|
|
309
|
-
|
|
310
|
-
justifyContent: "space-between",
|
|
311
|
-
minWidth: 275,
|
|
312
|
-
px: 1,
|
|
313
|
-
pb: 1.5,
|
|
314
|
-
columnGap: 1,
|
|
315
|
-
width: "100%",
|
|
316
|
-
...gridProps,
|
|
317
|
-
};
|
|
304
|
+
// Cancel Button
|
|
318
305
|
let cancelChildren = undefined;
|
|
319
306
|
if (variant == "icon")
|
|
320
307
|
cancelChildren = jsx(Close, {});
|
|
@@ -324,6 +311,7 @@ function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cance
|
|
|
324
311
|
...(cancelChildren ? { children: cancelChildren } : {}),
|
|
325
312
|
...cancelProps,
|
|
326
313
|
};
|
|
314
|
+
// Submit Button
|
|
327
315
|
let submitChildren = {};
|
|
328
316
|
if (variant == "icon")
|
|
329
317
|
submitChildren = { children: jsx(Fragment$1, {}), altIcon: jsx(Save, {}) };
|
|
@@ -333,12 +321,7 @@ function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cance
|
|
|
333
321
|
...submitChildren,
|
|
334
322
|
...submitProps,
|
|
335
323
|
};
|
|
336
|
-
return {
|
|
337
|
-
resetButtonProps,
|
|
338
|
-
gridContainerProps,
|
|
339
|
-
cancelButtonProps,
|
|
340
|
-
submitButtonProps,
|
|
341
|
-
};
|
|
324
|
+
return { resetButtonProps, gridContainerProps, cancelButtonProps, submitButtonProps };
|
|
342
325
|
}
|
|
343
326
|
|
|
344
327
|
const useMaxAttempts = ({ maxAttempts }) => {
|
|
@@ -513,20 +496,40 @@ const usePersistedForm = ({ formName = "" }) => {
|
|
|
513
496
|
*
|
|
514
497
|
* @example
|
|
515
498
|
* // With initial configuration
|
|
516
|
-
* const { dialogProps } = useDialog({ keepMounted:
|
|
499
|
+
* const { dialogProps } = useDialog({ keepMounted: true});
|
|
517
500
|
*
|
|
518
501
|
*
|
|
519
502
|
* @param props - Optional configuration options
|
|
520
503
|
*/
|
|
521
504
|
const useDialog = (props) => {
|
|
522
|
-
var _a;
|
|
523
505
|
const [open, setOpen] = useState(!!(props === null || props === void 0 ? void 0 : props.open));
|
|
524
|
-
const
|
|
525
|
-
const
|
|
506
|
+
const previousFocus = useRef(null);
|
|
507
|
+
const onClose = useCallback(() => {
|
|
508
|
+
setOpen(false);
|
|
509
|
+
// Restore focus after a small delay to ensure the dialog has fully closed
|
|
510
|
+
setTimeout(() => {
|
|
511
|
+
if (previousFocus.current) {
|
|
512
|
+
previousFocus.current.focus();
|
|
513
|
+
}
|
|
514
|
+
}, 100);
|
|
515
|
+
}, []);
|
|
516
|
+
const openDialog = useCallback(() => {
|
|
517
|
+
// Store the current active element before opening dialog
|
|
518
|
+
previousFocus.current = document.activeElement;
|
|
519
|
+
setOpen(true);
|
|
520
|
+
}, []);
|
|
526
521
|
return {
|
|
527
522
|
closeDialog: onClose,
|
|
528
523
|
openDialog,
|
|
529
|
-
dialogProps: {
|
|
524
|
+
dialogProps: {
|
|
525
|
+
open,
|
|
526
|
+
onClose,
|
|
527
|
+
// Add to ensure that the dialog properly handles focus
|
|
528
|
+
disableRestoreFocus: true,
|
|
529
|
+
disableEnforceFocus: false,
|
|
530
|
+
disableAutoFocus: false,
|
|
531
|
+
...props === null || props === void 0 ? void 0 : props.dialogProps
|
|
532
|
+
}
|
|
530
533
|
};
|
|
531
534
|
};
|
|
532
535
|
|
|
@@ -644,16 +647,16 @@ FormCancelButton.displayName = "FormCancelButton";
|
|
|
644
647
|
* Process Payment
|
|
645
648
|
* </LoadingButton>
|
|
646
649
|
*/
|
|
647
|
-
const LoadingButton = ({ children, loading, altIcon, ...props }) => {
|
|
650
|
+
const LoadingButton = ({ children, loading = false, altIcon, ...props }) => {
|
|
648
651
|
const theme = useTheme$1();
|
|
649
|
-
return (jsxs(Button, { ...props, children: [!loading ? (jsx(Box, { sx: {
|
|
652
|
+
return (jsxs(Button, { ...props, children: [!loading ? altIcon : (jsx(Box, { sx: {
|
|
650
653
|
display: "flex",
|
|
651
654
|
alignItems: "center",
|
|
652
655
|
justifyContent: "center",
|
|
653
656
|
width: "100%",
|
|
654
657
|
height: "auto",
|
|
655
658
|
mr: 1,
|
|
656
|
-
}, children: jsx(CircularProgress, { color: "inherit", size: theme.typography.fontSize }) }))
|
|
659
|
+
}, children: jsx(CircularProgress, { color: "inherit", size: theme.typography.fontSize }) })), children] }));
|
|
657
660
|
};
|
|
658
661
|
|
|
659
662
|
/**
|
|
@@ -671,9 +674,6 @@ const LoadingButton = ({ children, loading, altIcon, ...props }) => {
|
|
|
671
674
|
* - Explicit-disabled prop
|
|
672
675
|
* - Form-wide disabled state from FormDialogContext
|
|
673
676
|
*
|
|
674
|
-
* @example
|
|
675
|
-
* // Basic usage
|
|
676
|
-
* <FormSubmitButton />
|
|
677
677
|
*
|
|
678
678
|
* @example
|
|
679
679
|
* // With custom text and max attempts
|
|
@@ -696,7 +696,7 @@ const FormSubmitButton = memo(function ({ showAttempts, maxAttempts, children =
|
|
|
696
696
|
const { disabled: disabledForm } = useFormDialog();
|
|
697
697
|
const disabled = formState.isSubmitting || formState.isLoading || props.disabled || disabledForm;
|
|
698
698
|
const hasMaxAttempts = maxAttempts && isFinite(maxAttempts);
|
|
699
|
-
return (jsx(LoadingButton, { loading:
|
|
699
|
+
return (jsx(LoadingButton, { loading: formState.isSubmitting || formState.isLoading, variant: "contained", type: "submit", size: "large", disabled: disabled, ...props, children: jsx(Badge, { badgeContent: formState.submitCount || (formState.disabled ? maxAttempts : undefined), color: disabled ? "error" : "warning", invisible: !hasMaxAttempts && !showAttempts, children: children }) }));
|
|
700
700
|
});
|
|
701
701
|
FormSubmitButton.displayName = "FormSubmitButton";
|
|
702
702
|
|
|
@@ -717,10 +717,6 @@ FormSubmitButton.displayName = "FormSubmitButton";
|
|
|
717
717
|
* - Form-wide disabled state from FormDialogContext
|
|
718
718
|
*
|
|
719
719
|
* @example
|
|
720
|
-
* // Basic usage
|
|
721
|
-
* <FormResetButton />
|
|
722
|
-
*
|
|
723
|
-
* @example
|
|
724
720
|
* // With persistence integration
|
|
725
721
|
* <FormResetButton formKey="user-profile-form" />
|
|
726
722
|
*
|
|
@@ -742,7 +738,6 @@ const FormResetButton = memo(function (props) {
|
|
|
742
738
|
const { reset } = useFormContext();
|
|
743
739
|
const { isSubmitting, isLoading, isDirty } = useFormState();
|
|
744
740
|
const { disabled: disabledForm } = useFormDialog();
|
|
745
|
-
useParentTheme();
|
|
746
741
|
const keepSubmitCount = !!(props === null || props === void 0 ? void 0 : props.keepCount);
|
|
747
742
|
const handleOnClick = useCallback(() => {
|
|
748
743
|
reset(undefined, { keepSubmitCount, keepIsSubmitted: keepSubmitCount });
|
|
@@ -804,7 +799,7 @@ FormResetButton.displayName = "FormResetButton";
|
|
|
804
799
|
* </Grid>
|
|
805
800
|
* </Grid>
|
|
806
801
|
*/
|
|
807
|
-
const GridSpacer = () => jsx(Grid, { flex: "1 0 0" });
|
|
802
|
+
const GridSpacer = () => jsx(Grid, { flex: "1 0 0", sx: { w: 0 } });
|
|
808
803
|
|
|
809
804
|
/**
|
|
810
805
|
* Standard set of form dialog action buttons with consistent styling and behavior
|
|
@@ -888,5 +883,5 @@ const AutoGrid = ({ components, columnCount = 1, ...props }) => (jsx(Grid, { con
|
|
|
888
883
|
xs: 12 / columnCount,
|
|
889
884
|
}, children: child }, child.key))) }));
|
|
890
885
|
|
|
891
|
-
export { AutoGrid, BaseDialog, BlackoutDialog, FormCancelButton, FormDialog, FormDialogActions, FormDialogProvider, FormResetButton, FormSubmitButton, GridSpacer, PaperForm, PersistForm,
|
|
886
|
+
export { AutoGrid, BaseDialog, BlackoutDialog, FormCancelButton, FormDialog, FormDialogActions, FormDialogProvider, FormResetButton, FormSubmitButton, GridSpacer, LoadingButton, PaperForm, PersistForm, useDialog, useFormDialog, usePersistedForm };
|
|
892
887
|
//# sourceMappingURL=index.js.map
|