@chris-c-brine/form-dialog 1.0.6 → 1.1.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/README.md +107 -99
- package/dist/components/AutoGrid.d.ts +2 -16
- package/dist/components/buttons/FormCancelButton.d.ts +0 -5
- package/dist/components/buttons/FormResetButton.d.ts +0 -16
- package/dist/components/buttons/FormSubmitButton.d.ts +2 -16
- package/dist/components/buttons/LoadingButton.d.ts +1 -17
- package/dist/components/dialogs/BaseDialog.d.ts +2 -35
- package/dist/components/dialogs/BlackoutDialog.d.ts +1 -18
- package/dist/components/dialogs/FormDialog.d.ts +6 -13
- package/dist/components/dialogs/FormDialogActions.d.ts +2 -43
- package/dist/components/forms/PaperForm.d.ts +3 -13
- package/dist/components/forms/PersistForm.d.ts +2 -12
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/useDialog.d.ts +3 -19
- package/dist/hooks/useFormDialog.d.ts +2 -2
- package/dist/hooks/useMaxAttempts.d.ts +1 -4
- package/dist/hooks/usePersistForm.d.ts +18 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.esm.js +186 -216
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +186 -216
- package/dist/index.js.map +1 -1
- package/dist/state/FormDialogContext.d.ts +1 -8
- package/dist/state/FormDialogProvider.d.ts +2 -10
- package/dist/state/createFormChangeStore.d.ts +2 -6
- package/dist/types.d.ts +243 -0
- package/dist/utils/ThemeBridge.d.ts +2 -7
- package/dist/utils/applyDefaultFormDialogProps.d.ts +116 -121
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
2
|
-
import { createContext,
|
|
2
|
+
import { createContext, useContext, Fragment, useState, useEffect, useRef, useCallback, memo, useMemo, 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
|
-
import {
|
|
4
|
+
import { useFormContext, FormContainer, useFormState } from 'react-hook-form-mui';
|
|
5
|
+
import { isEqualWith, isObject, isNumber, isEqual, isEmpty, omit, merge, debounce } from 'lodash';
|
|
6
|
+
import { Refresh, Close, Save } from '@mui/icons-material';
|
|
5
7
|
import { useTheme } from '@mui/material/styles';
|
|
6
|
-
import { merge, isEqualWith, isObject, isNumber, isEqual, isEmpty, omit, debounce } from 'lodash';
|
|
7
|
-
import { Close, Refresh, Save } from '@mui/icons-material';
|
|
8
8
|
import { create } from 'zustand';
|
|
9
9
|
import { createJSONStorage, persist } from 'zustand/middleware';
|
|
10
|
-
import { useFormContext as useFormContext$1 } from 'react-hook-form';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* A component for rendering a modal dialog with an optional blackout effect.
|
|
14
13
|
*/
|
|
15
14
|
const BlackoutDialog = ({ open = false, blackout = false, id = "blackout-dialog", children, sx, ...props }) => {
|
|
16
15
|
const sxProps = blackout ? { ...sx, backgroundColor: "black" } : sx;
|
|
17
|
-
|
|
16
|
+
/**
|
|
17
|
+
* 1) When you open a dialog via a button, the button's ancestor gets aria-hidden, presumably so that
|
|
18
|
+
* screen readers (SR) can't interact with it while the dialog is open.
|
|
19
|
+
* 2) When you close the dialog, the aria-hidden is removed so that SRs can interact with the button again.
|
|
20
|
+
* 3) Also, when closing, the focus is moved back on the opener button.
|
|
21
|
+
*
|
|
22
|
+
* Now comes the important part. You get Blocked aria-hidden on a <div> only when 3 happens before 2. In this case,
|
|
23
|
+
* as the error message explains, we are trying to place focus somewhere where SRs don't have access, which is
|
|
24
|
+
* a No No, and browsers correctly warn about it.
|
|
25
|
+
*
|
|
26
|
+
* This ordering is dependent on the closeAfterTransition prop on the MUI Dialog. When false and user triggers
|
|
27
|
+
* dialog close, aria-hidden is removed (2) and then focus is placed on the opener button (3). Meaning there is no
|
|
28
|
+
* issue. You can see it in action here. However, when it's true (the default), the order is the other way around,
|
|
29
|
+
* and you get the warning.
|
|
30
|
+
*/
|
|
31
|
+
return (jsx(Dialog, { closeAfterTransition: false, open: open, id: id, sx: sxProps, ...props, children: children }));
|
|
18
32
|
};
|
|
19
33
|
|
|
20
34
|
/**
|
|
@@ -48,167 +62,17 @@ const BlackoutDialog = ({ open = false, blackout = false, id = "blackout-dialog"
|
|
|
48
62
|
* <SettingsForm />
|
|
49
63
|
* </BaseDialog>
|
|
50
64
|
*/
|
|
51
|
-
const BaseDialog = ({ title = null, closeButton, titleProps, children = null, contentProps, id, actions = null, actionsProps,
|
|
52
|
-
"& .MuiDialog-container": {
|
|
53
|
-
"& .MuiPaper-root": {
|
|
54
|
-
minWidth: "max-content",
|
|
55
|
-
mb: 2,
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
...sx,
|
|
59
|
-
}, ...props, children: [title && jsx(DialogTitle, { ...titleProps, children: title }), " ", closeButton, children && jsx(DialogContent, { ...contentProps, children: children }), actions && jsx(DialogActions, { ...actionsProps, children: actions })] }));
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* A component that combines a Material UI Paper with a form container
|
|
63
|
-
*
|
|
64
|
-
* PaperForm wraps form content in an elevated paper surface, providing
|
|
65
|
-
* visual distinction and a clean container for form elements. It integrates
|
|
66
|
-
* seamlessly with react-hook-form by using FormContainer internally.
|
|
67
|
-
*
|
|
68
|
-
* This component is useful for creating standalone form surfaces outside of dialogs,
|
|
69
|
-
* such as on pages or within cards. It supports all Paper props for styling
|
|
70
|
-
* while handling form state management through FormContainer.
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* // Basic usage
|
|
74
|
-
* <PaperForm
|
|
75
|
-
* formProps={{
|
|
76
|
-
* defaultValues: { name: "", email: "" },
|
|
77
|
-
* onSuccess: handleSubmit
|
|
78
|
-
* }}
|
|
79
|
-
* elevation={3}
|
|
80
|
-
* >
|
|
81
|
-
* <TextFieldElement name="name" label="Name" />
|
|
82
|
-
* <TextFieldElement name="email" label="Email" />
|
|
83
|
-
* <Button type="submit">Submit</Button>
|
|
84
|
-
* </PaperForm>
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* // With custom styling and validation
|
|
88
|
-
* <PaperForm
|
|
89
|
-
* formProps={{
|
|
90
|
-
* defaultValues: formDefaultValues,
|
|
91
|
-
* onSuccess: handleSubmit,
|
|
92
|
-
* onError: handleError,
|
|
93
|
-
* }}
|
|
94
|
-
* sx={{
|
|
95
|
-
* padding: 3,
|
|
96
|
-
* borderRadius: 2,
|
|
97
|
-
* backgroundColor: 'background.paper',
|
|
98
|
-
* }}
|
|
99
|
-
* elevation={2}
|
|
100
|
-
* >
|
|
101
|
-
* <FormFields />
|
|
102
|
-
* <FormDialogActions submitProps={{ children: "Save Profile" }} />
|
|
103
|
-
* </PaperForm>
|
|
104
|
-
*
|
|
105
|
-
* @template T - The type of form values being handled
|
|
106
|
-
*/
|
|
107
|
-
const PaperForm = ({ children, formProps, ...paperProps }) => (jsx(Paper, { ...paperProps, children: jsx(FormContainer, { ...formProps, children: children }) }));
|
|
65
|
+
const BaseDialog = ({ title = null, closeButton, titleProps, children = null, contentProps, id, actions = null, actionsProps, ...props }) => (jsxs(BlackoutDialog, { id: id, ...props, children: [title && jsx(DialogTitle, { ...titleProps, children: title }), " ", closeButton, children && jsx(DialogContent, { ...contentProps, children: children }), actions && jsx(DialogActions, { ...actionsProps, children: actions })] }));
|
|
108
66
|
|
|
109
67
|
const FormDialogContext = createContext(undefined);
|
|
110
68
|
FormDialogContext.displayName = "FormDialogContext";
|
|
111
69
|
|
|
112
|
-
// Create a context that will hold the parent theme
|
|
113
|
-
const ParentThemeContext = createContext(null);
|
|
114
|
-
const ThemeBridge = ({ children }) => {
|
|
115
|
-
const parentTheme = useTheme();
|
|
116
|
-
const [themeSnapshot, setThemeSnapshot] = useState(parentTheme);
|
|
117
|
-
// Update the snapshot when the parent theme changes
|
|
118
|
-
useEffect(() => {
|
|
119
|
-
setThemeSnapshot(parentTheme);
|
|
120
|
-
}, [parentTheme]);
|
|
121
|
-
// Pass the parent theme to our components
|
|
122
|
-
return (jsx(ParentThemeContext.Provider, { value: themeSnapshot, children: children }));
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Context provider component for form dialog state management
|
|
127
|
-
*
|
|
128
|
-
* FormDialogProvider creates and manages shared state for form dialogs,
|
|
129
|
-
* allowing child components to access dialog state and controls through
|
|
130
|
-
* the useFormDialog hook.
|
|
131
|
-
*
|
|
132
|
-
* This provider handles:
|
|
133
|
-
* - Dialog open/close state
|
|
134
|
-
* - Form-wide disabled state
|
|
135
|
-
* - Dialog close handler passing
|
|
136
|
-
* - Theme consistency via ThemeBridge
|
|
137
|
-
*
|
|
138
|
-
* Use this provider to wrap form components that need to share state
|
|
139
|
-
* and disabled status, such as dialogs with multiple form fields
|
|
140
|
-
* and action buttons that need to be coordinated.
|
|
141
|
-
*
|
|
142
|
-
* @example
|
|
143
|
-
* // Basic usage wrapping a form
|
|
144
|
-
* <FormDialogProvider>
|
|
145
|
-
* <FormContainer onSuccess={handleSubmit}>
|
|
146
|
-
* <TextFieldElement name="name" />
|
|
147
|
-
* <FormDialogActions />
|
|
148
|
-
* </FormContainer>
|
|
149
|
-
* </FormDialogProvider>
|
|
150
|
-
*
|
|
151
|
-
* @example
|
|
152
|
-
* // With pre-configured dialog state
|
|
153
|
-
* <FormDialogProvider open={isOpen} closeDialog={handleClose}>
|
|
154
|
-
* <PaperForm formProps={formProps}>
|
|
155
|
-
* <LoginFormFields />
|
|
156
|
-
* <FormDialogActions submitProps={{ maxAttempts: 3 }} />
|
|
157
|
-
* </PaperForm>
|
|
158
|
-
* </FormDialogProvider>
|
|
159
|
-
*/
|
|
160
|
-
const FormDialogProvider = ({ children, ...value }) => {
|
|
161
|
-
const [disabled, setDisabled] = useState(false);
|
|
162
|
-
return (jsx(ThemeBridge, { children: jsx(FormDialogContext.Provider, { value: { ...value, disabled, setDisabled }, children: children }) }));
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* A dialog component specialized for forms with integrated context providers
|
|
167
|
-
*
|
|
168
|
-
* FormDialog combines Material UI dialog functionality with React Hook Form,
|
|
169
|
-
* creating a comprehensive solution for modal forms. It provides context
|
|
170
|
-
* providers for form state management, dialog controls, and accessibility.
|
|
171
|
-
*
|
|
172
|
-
* Key features:
|
|
173
|
-
* - Integrates React Hook Form with Material UI dialogs
|
|
174
|
-
* - Provides form state management through FormProvider
|
|
175
|
-
* - Establishes dialog context through FormDialogProvider
|
|
176
|
-
* - Handles form submission and error states
|
|
177
|
-
* - Supports loading states for form operations
|
|
178
|
-
* - Maintains consistent styling and behavior
|
|
179
|
-
*
|
|
180
|
-
* Child components can access the form and dialog context through hooks:
|
|
181
|
-
* - useFormContext() - Access form methods and state
|
|
182
|
-
* - useFormState() - Access form validation state
|
|
183
|
-
* - useFormDialog() - Access dialog controls and state
|
|
184
|
-
*
|
|
185
|
-
*/
|
|
186
|
-
const FormDialog = ({ formProps, children, open, onClose, ...dialogProps }) => {
|
|
187
|
-
const PaperComponent = useCallback((props) => jsx(PaperForm, { formProps: formProps, ...props }), [formProps]);
|
|
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
|
-
},
|
|
201
|
-
},
|
|
202
|
-
}, dialogProps), children: children })), [open, onClose, dialogProps, children, PaperComponent]);
|
|
203
|
-
return (jsx(FormDialogProvider, { open: open, closeDialog: onClose, children: jsx(FormDialogContent, {}) }));
|
|
204
|
-
};
|
|
205
|
-
|
|
206
70
|
// src/components/dialogs/FormDialog/hooks/useFormDialog.ts
|
|
207
71
|
/**
|
|
208
72
|
* Hook for accessing the FormDialog context values and functions
|
|
209
73
|
*
|
|
210
74
|
* This hook provides access to the form dialog state and controls managed by
|
|
211
|
-
* the FormDialogProvider. It allows components to interact with dialog state,
|
|
75
|
+
* the FormDialogProvider. It allows components to interact with the dialog state,
|
|
212
76
|
* including open/close status and form-wide disabled state.
|
|
213
77
|
*
|
|
214
78
|
* The context provides:
|
|
@@ -324,6 +188,19 @@ function applyDefaultFormDialogProps({ resetProps, submitProps, gridProps, cance
|
|
|
324
188
|
return { resetButtonProps, gridContainerProps, cancelButtonProps, submitButtonProps };
|
|
325
189
|
}
|
|
326
190
|
|
|
191
|
+
// Create a context that will hold the parent theme
|
|
192
|
+
const ParentThemeContext = createContext(null);
|
|
193
|
+
const ThemeBridge = ({ children }) => {
|
|
194
|
+
const parentTheme = useTheme();
|
|
195
|
+
const [themeSnapshot, setThemeSnapshot] = useState(parentTheme);
|
|
196
|
+
// Update the snapshot when the parent theme changes
|
|
197
|
+
useEffect(() => {
|
|
198
|
+
setThemeSnapshot(parentTheme);
|
|
199
|
+
}, [parentTheme]);
|
|
200
|
+
// Pass the parent theme to our components
|
|
201
|
+
return (jsx(ParentThemeContext.Provider, { value: themeSnapshot, children: children }));
|
|
202
|
+
};
|
|
203
|
+
|
|
327
204
|
const useMaxAttempts = ({ maxAttempts }) => {
|
|
328
205
|
const { formState, resetField } = useFormContext();
|
|
329
206
|
const { setDisabled, disabled } = useFormDialog();
|
|
@@ -418,36 +295,18 @@ function useOnMount(callback) {
|
|
|
418
295
|
* - Only saves changed fields, not the entire form state
|
|
419
296
|
* - Automatically clears storage when form values match defaults
|
|
420
297
|
*
|
|
421
|
-
* @example
|
|
422
|
-
* // In a form component:
|
|
423
|
-
* const MyPersistedForm = () => {
|
|
424
|
-
* const formMethods = useForm({ defaultValues: { name: '' } });
|
|
425
|
-
* // Connect the form to persistence
|
|
426
|
-
* usePersistedForm({ formName: 'user-registration' });
|
|
427
|
-
*
|
|
428
|
-
* return (<FormProvider {...formMethods}>
|
|
429
|
-
* <TextFieldElement name="name" label="Name" />
|
|
430
|
-
* </FormProvider>);
|
|
431
|
-
* }
|
|
432
|
-
*
|
|
433
|
-
* @example
|
|
434
|
-
* // For convenience, use with the PersistForm wrapper component:
|
|
435
|
-
* <PersistForm formName="user-profile">
|
|
436
|
-
* <ProfileFormFields />
|
|
437
|
-
* </PersistForm>
|
|
438
|
-
*
|
|
439
|
-
* @param props - Configuration options
|
|
440
298
|
*/
|
|
441
|
-
const
|
|
442
|
-
const { setValue, watch, formState } =
|
|
299
|
+
const usePersistForm = ({ formName = "", formContext }) => {
|
|
300
|
+
// const { setValue, watch, formState } = formContext;
|
|
443
301
|
const { formData, updateFormData, resetFormData } = createFormChangeStore(formName)();
|
|
444
|
-
const {
|
|
302
|
+
const { disabled } = useFormDialog();
|
|
445
303
|
const debouncedUpdate = debounce((key, values) => {
|
|
446
304
|
updateFormData(key, values);
|
|
447
305
|
}, 200);
|
|
448
306
|
useEffect(() => {
|
|
449
|
-
if (!formName)
|
|
307
|
+
if (!formName || !formContext)
|
|
450
308
|
return;
|
|
309
|
+
const { watch, formState } = formContext;
|
|
451
310
|
const subscription = watch((newValues, { name }) => {
|
|
452
311
|
if (deepCompare(newValues, formState.defaultValues, true)) {
|
|
453
312
|
resetFormData();
|
|
@@ -466,19 +325,18 @@ const usePersistedForm = ({ formName = "" }) => {
|
|
|
466
325
|
debouncedUpdate.cancel();
|
|
467
326
|
};
|
|
468
327
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
469
|
-
}, [
|
|
328
|
+
}, [formContext, debouncedUpdate]);
|
|
470
329
|
useOnMount(() => {
|
|
471
|
-
if (!isEmpty(formData) && !disabled && !formState.isLoading &&
|
|
330
|
+
if (!isEmpty(formData) && !disabled && !(formContext === null || formContext === void 0 ? void 0 : formContext.formState.isLoading) && formName) {
|
|
472
331
|
setTimeout(() => {
|
|
473
332
|
Object.entries(formData).forEach(([key, value]) => {
|
|
474
|
-
setValue(key, value, { shouldDirty: true, shouldTouch: true });
|
|
333
|
+
formContext === null || formContext === void 0 ? void 0 : formContext.setValue(key, value, { shouldDirty: true, shouldTouch: true });
|
|
475
334
|
});
|
|
476
335
|
}, 200);
|
|
477
336
|
}
|
|
478
337
|
});
|
|
479
338
|
};
|
|
480
339
|
|
|
481
|
-
// src/hooks/useDialog.ts
|
|
482
340
|
/**
|
|
483
341
|
* Hook for managing dialog state and providing dialog control functions
|
|
484
342
|
*
|
|
@@ -486,6 +344,8 @@ const usePersistedForm = ({ formName = "" }) => {
|
|
|
486
344
|
* functions to open and close the dialog, along with props that can be
|
|
487
345
|
* spread onto a Material-UI Dialog component.
|
|
488
346
|
*
|
|
347
|
+
* Restores focus to the opening element, but only after the dialog has fully closed.
|
|
348
|
+
*
|
|
489
349
|
* @example
|
|
490
350
|
* // Basic usage
|
|
491
351
|
* const { openDialog, closeDialog, dialogProps } = useDialog();
|
|
@@ -498,38 +358,16 @@ const usePersistedForm = ({ formName = "" }) => {
|
|
|
498
358
|
* // With initial configuration
|
|
499
359
|
* const { dialogProps } = useDialog({ keepMounted: true});
|
|
500
360
|
*
|
|
501
|
-
*
|
|
502
361
|
* @param props - Optional configuration options
|
|
503
362
|
*/
|
|
504
363
|
const useDialog = (props) => {
|
|
505
364
|
const [open, setOpen] = useState(!!(props === null || props === void 0 ? void 0 : props.open));
|
|
506
|
-
const
|
|
507
|
-
const
|
|
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
|
-
}, []);
|
|
365
|
+
const closeDialog = useCallback(() => setOpen(false), []);
|
|
366
|
+
const openDialog = useCallback(() => setOpen(true), []);
|
|
521
367
|
return {
|
|
522
|
-
closeDialog
|
|
368
|
+
closeDialog,
|
|
523
369
|
openDialog,
|
|
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
|
-
}
|
|
370
|
+
dialogProps: { open, onClose: closeDialog, keepMounted: !!(props === null || props === void 0 ? void 0 : props.keepMounted) }
|
|
533
371
|
};
|
|
534
372
|
};
|
|
535
373
|
|
|
@@ -574,10 +412,142 @@ const useDialog = (props) => {
|
|
|
574
412
|
* </PersistForm>
|
|
575
413
|
* </FormDialog>
|
|
576
414
|
*/
|
|
577
|
-
const PersistForm = ({ children, formName })
|
|
578
|
-
|
|
415
|
+
const PersistForm = memo(function ({ children, formName }) {
|
|
416
|
+
const formContext = useFormContext();
|
|
417
|
+
usePersistForm({ formName, formContext });
|
|
579
418
|
return jsx(Fragment$1, { children: children });
|
|
419
|
+
});
|
|
420
|
+
PersistForm.displayName = "PersistForm";
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* A component that combines a Material UI Paper with a form container
|
|
424
|
+
*
|
|
425
|
+
* PaperForm wraps form content in an elevated paper surface, providing
|
|
426
|
+
* visual distinction and a clean container for form elements. It integrates
|
|
427
|
+
* seamlessly with react-hook-form by using FormContainer internally.
|
|
428
|
+
*
|
|
429
|
+
* This component is useful for creating standalone form surfaces outside of dialogs,
|
|
430
|
+
* such as on pages or within cards. It supports all Paper props for styling
|
|
431
|
+
* while handling form state management through FormContainer.
|
|
432
|
+
*
|
|
433
|
+
* @example
|
|
434
|
+
* // Basic usage
|
|
435
|
+
* <PaperForm
|
|
436
|
+
* formProps={{
|
|
437
|
+
* defaultValues: { name: "", email: "" },
|
|
438
|
+
* onSuccess: handleSubmit
|
|
439
|
+
* }}
|
|
440
|
+
* elevation={3}
|
|
441
|
+
* >
|
|
442
|
+
* <TextFieldElement name="name" label="Name" />
|
|
443
|
+
* <TextFieldElement name="email" label="Email" />
|
|
444
|
+
* <Button type="submit">Submit</Button>
|
|
445
|
+
* </PaperForm>
|
|
446
|
+
*
|
|
447
|
+
* @example
|
|
448
|
+
* // With custom styling and validation
|
|
449
|
+
* <PaperForm
|
|
450
|
+
* formProps={{
|
|
451
|
+
* defaultValues: formDefaultValues,
|
|
452
|
+
* onSuccess: handleSubmit,
|
|
453
|
+
* onError: handleError,
|
|
454
|
+
* }}
|
|
455
|
+
* sx={{
|
|
456
|
+
* padding: 3,
|
|
457
|
+
* borderRadius: 2,
|
|
458
|
+
* backgroundColor: 'background.paper',
|
|
459
|
+
* }}
|
|
460
|
+
* elevation={2}
|
|
461
|
+
* >
|
|
462
|
+
* <FormFields />
|
|
463
|
+
* <FormDialogActions submitProps={{ children: "Save Profile" }} />
|
|
464
|
+
* </PaperForm>
|
|
465
|
+
*
|
|
466
|
+
* @template T - The type of form values being handled
|
|
467
|
+
*/
|
|
468
|
+
const PaperForm = ({ children, persistKey = "", formProps, ...paperProps }) => (jsx(Paper, { ...paperProps, children: jsx(FormContainer, { ...formProps, children: jsx(PersistForm, { formName: persistKey, children: children }) }) }));
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* Context provider component for form dialog state management
|
|
472
|
+
*
|
|
473
|
+
* FormDialogProvider creates and manages shared state for form dialogs,
|
|
474
|
+
* allowing child components to access dialog state and controls through
|
|
475
|
+
* the useFormDialog hook.
|
|
476
|
+
*
|
|
477
|
+
* This provider handles:
|
|
478
|
+
* - Dialog open/close state
|
|
479
|
+
* - Form-wide disabled state
|
|
480
|
+
* - Dialog close handler passing
|
|
481
|
+
* - Theme consistency via ThemeBridge
|
|
482
|
+
*
|
|
483
|
+
* Use this provider to wrap form components that need to share state
|
|
484
|
+
* and disabled status, such as dialogs with multiple form fields
|
|
485
|
+
* and action buttons that need to be coordinated.
|
|
486
|
+
*
|
|
487
|
+
* @example
|
|
488
|
+
* // Basic usage wrapping a form
|
|
489
|
+
* <FormDialogProvider>
|
|
490
|
+
* <FormContainer onSuccess={handleSubmit}>
|
|
491
|
+
* <TextFieldElement name="name" />
|
|
492
|
+
* <FormDialogActions />
|
|
493
|
+
* </FormContainer>
|
|
494
|
+
* </FormDialogProvider>
|
|
495
|
+
*
|
|
496
|
+
* @example
|
|
497
|
+
* // With pre-configured dialog state
|
|
498
|
+
* <FormDialogProvider open={isOpen} closeDialog={handleClose}>
|
|
499
|
+
* <PaperForm formProps={formProps}>
|
|
500
|
+
* <LoginFormFields />
|
|
501
|
+
* <FormDialogActions submitProps={{ maxAttempts: 3 }} />
|
|
502
|
+
* </PaperForm>
|
|
503
|
+
* </FormDialogProvider>
|
|
504
|
+
*/
|
|
505
|
+
const FormDialogProvider = ({ children, ...value }) => {
|
|
506
|
+
const [disabled, setDisabled] = useState(false);
|
|
507
|
+
return (jsx(ThemeBridge, { children: jsx(FormDialogContext.Provider, { value: { ...value, disabled, setDisabled }, children: children }) }));
|
|
508
|
+
};
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* A dialog component specialized for forms with integrated context providers
|
|
512
|
+
*
|
|
513
|
+
* FormDialog combines Material UI dialog functionality with React Hook Form,
|
|
514
|
+
* creating a comprehensive solution for modal forms. It provides context
|
|
515
|
+
* providers for form state management, dialog controls, and accessibility.
|
|
516
|
+
*
|
|
517
|
+
* Key features:
|
|
518
|
+
* - Integrates React Hook Form with Material UI dialogs
|
|
519
|
+
* - Provides form state management through FormProvider
|
|
520
|
+
* - Establishes dialog context through FormDialogProvider
|
|
521
|
+
* - Handles form submission and error states
|
|
522
|
+
* - Supports loading states for form operations
|
|
523
|
+
* - Maintains consistent styling and behavior
|
|
524
|
+
*
|
|
525
|
+
* Child components can access the form and dialog context through hooks:
|
|
526
|
+
* - useFormContext() - Access form methods and state
|
|
527
|
+
* - useFormState() - Access form validation state
|
|
528
|
+
* - useFormDialog() - Access dialog controls and state
|
|
529
|
+
*
|
|
530
|
+
*/
|
|
531
|
+
const FormDialog = function ({ formProps, children, open, onClose, persistKey = "", ...dialogProps }) {
|
|
532
|
+
const PaperComponent = useCallback((props) => jsx(PaperForm, { persistKey: persistKey, formProps: formProps, ...props }), [formProps, persistKey]);
|
|
533
|
+
const baseDialogProps = useMemo(() => merge({
|
|
534
|
+
actionsProps: { sx: { pt: 2.5 } },
|
|
535
|
+
contentProps: {
|
|
536
|
+
sx: {
|
|
537
|
+
display: "flex",
|
|
538
|
+
justifyContent: "center",
|
|
539
|
+
boxSizing: "border-box",
|
|
540
|
+
maxHeight: `calc(100vh - 235px)`, // 235 estimate using H4 title & default FormDialogActions
|
|
541
|
+
},
|
|
542
|
+
},
|
|
543
|
+
}, dialogProps), [dialogProps]);
|
|
544
|
+
return (jsx(FormDialogProvider, { open: open, closeDialog: onClose, children: jsx(BaseDialog, { PaperComponent: PaperComponent, open: open, onClose: onClose, closeButton: jsx(IconButton, { sx: {
|
|
545
|
+
position: "absolute",
|
|
546
|
+
top: 8,
|
|
547
|
+
right: 8,
|
|
548
|
+
}, 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 }) }));
|
|
580
549
|
};
|
|
550
|
+
FormDialog.displayName = "FormDialog";
|
|
581
551
|
|
|
582
552
|
/**
|
|
583
553
|
* A cancel button component that integrates with FormDialogContext.
|
|
@@ -660,7 +630,7 @@ const LoadingButton = ({ children, loading = false, altIcon, ...props }) => {
|
|
|
660
630
|
};
|
|
661
631
|
|
|
662
632
|
/**
|
|
663
|
-
* A submit button for forms with loading state, attempt tracking and form context awareness
|
|
633
|
+
* A "submit button" for forms with loading state, attempt tracking and form context awareness
|
|
664
634
|
*
|
|
665
635
|
* This component extends the LoadingButton with form-specific features:
|
|
666
636
|
* - Automatically displays loading state during form submission
|
|
@@ -692,7 +662,7 @@ const LoadingButton = ({ children, loading = false, altIcon, ...props }) => {
|
|
|
692
662
|
* </FormSubmitButton>
|
|
693
663
|
*/
|
|
694
664
|
const FormSubmitButton = memo(function ({ showAttempts, maxAttempts, children = "Save", ...props }) {
|
|
695
|
-
const
|
|
665
|
+
const formState = useFormState();
|
|
696
666
|
const { disabled: disabledForm } = useFormDialog();
|
|
697
667
|
const disabled = formState.isSubmitting || formState.isLoading || props.disabled || disabledForm;
|
|
698
668
|
const hasMaxAttempts = maxAttempts && isFinite(maxAttempts);
|
|
@@ -883,5 +853,5 @@ const AutoGrid = ({ components, columnCount = 1, ...props }) => (jsx(Grid, { con
|
|
|
883
853
|
xs: 12 / columnCount,
|
|
884
854
|
}, children: child }, child.key))) }));
|
|
885
855
|
|
|
886
|
-
export { AutoGrid, BaseDialog, BlackoutDialog, FormCancelButton, FormDialog, FormDialogActions, FormDialogProvider, FormResetButton, FormSubmitButton, GridSpacer, LoadingButton, PaperForm, PersistForm, useDialog, useFormDialog,
|
|
856
|
+
export { AutoGrid, BaseDialog, BlackoutDialog, FormCancelButton, FormDialog, FormDialogActions, FormDialogProvider, FormResetButton, FormSubmitButton, GridSpacer, LoadingButton, PaperForm, PersistForm, useDialog, useFormDialog, usePersistForm };
|
|
887
857
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.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.js","sources":["../src/components/dialogs/BlackoutDialog.tsx","../src/components/dialogs/BaseDialog.tsx","../src/state/FormDialogContext.ts","../src/hooks/useFormDialog.ts","../src/utils/hasMaxAttempts.ts","../src/utils/deepCompare.ts","../src/utils/applyDefaultFormDialogProps.tsx","../src/utils/ThemeBridge.tsx","../src/hooks/useMaxAttempts.ts","../src/state/createFormChangeStore.ts","../src/hooks/useOnMount.ts","../src/hooks/usePersistForm.ts","../src/hooks/useDialog.ts","../src/components/forms/PersistForm.tsx","../src/components/forms/PaperForm.tsx","../src/state/FormDialogProvider.tsx","../src/components/dialogs/FormDialog.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","RefreshIcon","CloseIcon","_Fragment","SaveIcon","useMuiTheme","useTheme"],"mappings":"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"}
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { Dispatch, SetStateAction } from 'react';
|
|
3
|
-
export type FormDialogContextType = {
|
|
4
|
-
open?: boolean;
|
|
5
|
-
closeDialog?: DialogProps['onClose'];
|
|
6
|
-
disabled: boolean;
|
|
7
|
-
setDisabled: Dispatch<SetStateAction<boolean>>;
|
|
8
|
-
};
|
|
1
|
+
import { FormDialogContextType } from "../types";
|
|
9
2
|
export declare const FormDialogContext: import("react").Context<FormDialogContextType | undefined>;
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import { type FC
|
|
2
|
-
import {
|
|
3
|
-
/**
|
|
4
|
-
* Props for the FormDialogProvider component
|
|
5
|
-
*
|
|
6
|
-
* Extends React's PropsWithChildren and allows optional passing of dialog state
|
|
7
|
-
* (open state and close handler) directly to the provider.
|
|
8
|
-
*/
|
|
9
|
-
export interface FormDialogProviderProps extends PropsWithChildren, Partial<Pick<FormDialogContextType, "open" | "closeDialog">> {
|
|
10
|
-
}
|
|
1
|
+
import { type FC } from "react";
|
|
2
|
+
import { FormDialogProviderProps } from "../types";
|
|
11
3
|
/**
|
|
12
4
|
* Context provider component for form dialog state management
|
|
13
5
|
*
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
formData: Partial<Record<keyof T, FieldValue<T>>>;
|
|
4
|
-
updateFormData: <K extends keyof T>(key: K, value: FieldValue<T>) => void;
|
|
5
|
-
resetFormData: (key?: keyof T) => void;
|
|
6
|
-
}
|
|
1
|
+
import type { FieldValues } from "react-hook-form";
|
|
2
|
+
import { FormStore } from "../types";
|
|
7
3
|
/**
|
|
8
4
|
* Factory function to create a form store with a custom storage name.
|
|
9
5
|
*
|