@availity/mui-controlled-form 0.2.3 → 0.2.5

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/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.2.5](https://github.com/Availity/element/compare/@availity/mui-controlled-form@0.2.4...@availity/mui-controlled-form@0.2.5) (2025-02-05)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **mui-controlled-form:** support required prop object ([6a2282c](https://github.com/Availity/element/commit/6a2282ca0328c7e1ed3d1ace974209123c38f673))
11
+
12
+ ## [0.2.4](https://github.com/Availity/element/compare/@availity/mui-controlled-form@0.2.3...@availity/mui-controlled-form@0.2.4) (2025-02-05)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **mui-controlled-form:** support nested form properties ([5746baf](https://github.com/Availity/element/commit/5746bafdee011b6fcc7d6f712946fcb597ea48da))
18
+ * **mui-controlled-form:** support nested form properties for ControlledAsyncAutocomplete ([9c97199](https://github.com/Availity/element/commit/9c97199bbee014ebcaef6fbbf3ab81b962e87c7b))
19
+
5
20
  ## [0.2.3](https://github.com/Availity/element/compare/@availity/mui-controlled-form@0.2.2...@availity/mui-controlled-form@0.2.3) (2025-02-05)
6
21
 
7
22
  ### Dependency Updates
package/dist/index.d.mts CHANGED
@@ -39,7 +39,7 @@ type ControlledFormProps = {
39
39
  declare const ControlledForm: ({ onSubmit, values, schema, validationResolver, ...rest }: ControlledFormProps) => react_jsx_runtime.JSX.Element;
40
40
 
41
41
  type ControlledDatepickerProps = DatepickerProps & Omit<RegisterOptions<FieldValues, string>, 'disabled' | 'valueAsNumber' | 'valueAsDate' | 'setValueAs'> & Pick<ControllerProps, 'defaultValue' | 'shouldUnregister' | 'name'>;
42
- declare const ControlledDatepicker: ({ name, defaultValue, deps, max, maxLength, min, minLength, onBlur, onChange, pattern, required, shouldUnregister, validate, value, ...rest }: ControlledDatepickerProps) => react_jsx_runtime.JSX.Element;
42
+ declare const ControlledDatepicker: ({ name, defaultValue, deps, max, maxLength, min, minLength, onBlur, onChange, pattern, required, shouldUnregister, validate, value, FieldProps, ...rest }: ControlledDatepickerProps) => react_jsx_runtime.JSX.Element;
43
43
 
44
44
  type ControlledInputProps = Omit<InputProps, 'error' | 'name' | 'required'> & {
45
45
  name: string;
package/dist/index.d.ts CHANGED
@@ -39,7 +39,7 @@ type ControlledFormProps = {
39
39
  declare const ControlledForm: ({ onSubmit, values, schema, validationResolver, ...rest }: ControlledFormProps) => react_jsx_runtime.JSX.Element;
40
40
 
41
41
  type ControlledDatepickerProps = DatepickerProps & Omit<RegisterOptions<FieldValues, string>, 'disabled' | 'valueAsNumber' | 'valueAsDate' | 'setValueAs'> & Pick<ControllerProps, 'defaultValue' | 'shouldUnregister' | 'name'>;
42
- declare const ControlledDatepicker: ({ name, defaultValue, deps, max, maxLength, min, minLength, onBlur, onChange, pattern, required, shouldUnregister, validate, value, ...rest }: ControlledDatepickerProps) => react_jsx_runtime.JSX.Element;
42
+ declare const ControlledDatepicker: ({ name, defaultValue, deps, max, maxLength, min, minLength, onBlur, onChange, pattern, required, shouldUnregister, validate, value, FieldProps, ...rest }: ControlledDatepickerProps) => react_jsx_runtime.JSX.Element;
43
43
 
44
44
  type ControlledInputProps = Omit<InputProps, 'error' | 'name' | 'required'> & {
45
45
  name: string;
package/dist/index.js CHANGED
@@ -101,11 +101,8 @@ var ControlledAsyncAutocomplete = (_a) => {
101
101
  "FieldProps"
102
102
  ]);
103
103
  var _a2;
104
- const {
105
- control,
106
- formState: { errors }
107
- } = (0, import_react_hook_form.useFormContext)();
108
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
104
+ const { control, getFieldState } = (0, import_react_hook_form.useFormContext)();
105
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
109
106
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
110
107
  import_react_hook_form.Controller,
111
108
  {
@@ -131,6 +128,7 @@ var ControlledAsyncAutocomplete = (_a) => {
131
128
  import_mui_autocomplete.AsyncAutocomplete,
132
129
  __spreadProps(__spreadValues({}, rest), {
133
130
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
131
+ required: typeof required === "object" ? required.value : !!required,
134
132
  error: !!errorMessage,
135
133
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
136
134
  errorMessage,
@@ -191,11 +189,8 @@ var ControlledAutocomplete = (_a) => {
191
189
  "value"
192
190
  ]);
193
191
  var _a2;
194
- const {
195
- control,
196
- formState: { errors }
197
- } = (0, import_react_hook_form2.useFormContext)();
198
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
192
+ const { control, getFieldState } = (0, import_react_hook_form2.useFormContext)();
193
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
199
194
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
200
195
  import_react_hook_form2.Controller,
201
196
  {
@@ -221,6 +216,7 @@ var ControlledAutocomplete = (_a) => {
221
216
  import_mui_autocomplete2.Autocomplete,
222
217
  __spreadProps(__spreadValues({}, rest), {
223
218
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
219
+ required: typeof required === "object" ? required.value : !!required,
224
220
  error: !!errorMessage,
225
221
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
226
222
  errorMessage,
@@ -316,11 +312,8 @@ var ControlledCodesAutocomplete = (_a) => {
316
312
  "FieldProps"
317
313
  ]);
318
314
  var _a2;
319
- const {
320
- control,
321
- formState: { errors }
322
- } = (0, import_react_hook_form4.useFormContext)();
323
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
315
+ const { control, getFieldState } = (0, import_react_hook_form4.useFormContext)();
316
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
324
317
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
325
318
  import_react_hook_form4.Controller,
326
319
  {
@@ -344,6 +337,7 @@ var ControlledCodesAutocomplete = (_a) => {
344
337
  import_mui_autocomplete3.CodesAutocomplete,
345
338
  __spreadProps(__spreadValues({}, rest), {
346
339
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
340
+ required: typeof required === "object" ? required.value : !!required,
347
341
  error: !!errorMessage,
348
342
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
349
343
  errorMessage,
@@ -397,7 +391,8 @@ var ControlledDatepicker = (_a) => {
397
391
  required,
398
392
  shouldUnregister,
399
393
  validate,
400
- value
394
+ value,
395
+ FieldProps
401
396
  } = _b, rest = __objRest(_b, [
402
397
  "name",
403
398
  "defaultValue",
@@ -412,7 +407,8 @@ var ControlledDatepicker = (_a) => {
412
407
  "required",
413
408
  "shouldUnregister",
414
409
  "validate",
415
- "value"
410
+ "value",
411
+ "FieldProps"
416
412
  ]);
417
413
  const { control } = (0, import_react_hook_form6.useFormContext)();
418
414
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
@@ -436,7 +432,22 @@ var ControlledDatepicker = (_a) => {
436
432
  value
437
433
  },
438
434
  shouldUnregister,
439
- render: ({ field: { onChange: onChange2, value: value2 } }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_mui_datepicker.Datepicker, __spreadProps(__spreadValues({}, rest), { onChange: onChange2, value: value2 || null }))
435
+ render: ({ field: { onChange: onChange2, value: value2 }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
436
+ import_mui_datepicker.Datepicker,
437
+ __spreadProps(__spreadValues({}, rest), {
438
+ FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
439
+ required: typeof required === "object" ? required.value : !!required,
440
+ error: !!error,
441
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
442
+ error == null ? void 0 : error.message,
443
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("br", {}),
444
+ FieldProps == null ? void 0 : FieldProps.helperText
445
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText
446
+ }),
447
+ onChange: onChange2,
448
+ value: value2 || null
449
+ })
450
+ )
440
451
  }
441
452
  );
442
453
  };
@@ -479,15 +490,12 @@ var ControlledInput = (_a) => {
479
490
  "shouldUnregister",
480
491
  "deps"
481
492
  ]);
482
- const {
483
- register,
484
- formState: { errors }
485
- } = (0, import_react_hook_form7.useFormContext)();
493
+ const { register, getFieldState } = (0, import_react_hook_form7.useFormContext)();
486
494
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
487
495
  import_mui_form_utils.Input,
488
496
  __spreadValues(__spreadProps(__spreadValues({}, rest), {
489
- error: !!errors[name],
490
- required: !!required
497
+ error: !!getFieldState(name).error,
498
+ required: typeof required === "object" ? required.value : !!required
491
499
  }), register(name, {
492
500
  required,
493
501
  maxLength,
@@ -538,11 +546,8 @@ var ControlledOrganizationAutocomplete = (_a) => {
538
546
  "FieldProps"
539
547
  ]);
540
548
  var _a2;
541
- const {
542
- control,
543
- formState: { errors }
544
- } = (0, import_react_hook_form8.useFormContext)();
545
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
549
+ const { control, getFieldState } = (0, import_react_hook_form8.useFormContext)();
550
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
546
551
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
547
552
  import_react_hook_form8.Controller,
548
553
  {
@@ -564,6 +569,7 @@ var ControlledOrganizationAutocomplete = (_a) => {
564
569
  import_mui_autocomplete4.OrganizationAutocomplete,
565
570
  __spreadProps(__spreadValues({}, rest), {
566
571
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
572
+ required: typeof required === "object" ? required.value : !!required,
567
573
  error: !!errorMessage,
568
574
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
569
575
  errorMessage,
@@ -624,11 +630,8 @@ var ControlledProviderAutocomplete = (_a) => {
624
630
  "FieldProps"
625
631
  ]);
626
632
  var _a2;
627
- const {
628
- control,
629
- formState: { errors }
630
- } = (0, import_react_hook_form9.useFormContext)();
631
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
633
+ const { control, getFieldState } = (0, import_react_hook_form9.useFormContext)();
634
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
632
635
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
633
636
  import_react_hook_form9.Controller,
634
637
  {
@@ -654,6 +657,7 @@ var ControlledProviderAutocomplete = (_a) => {
654
657
  import_mui_autocomplete5.ProviderAutocomplete,
655
658
  __spreadProps(__spreadValues({}, rest), {
656
659
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
660
+ required: typeof required === "object" ? required.value : !!required,
657
661
  error: !!errorMessage,
658
662
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
659
663
  errorMessage,
@@ -705,11 +709,8 @@ var ControlledRadioGroup = (_a) => {
705
709
  "value"
706
710
  ]);
707
711
  var _a2;
708
- const {
709
- control,
710
- formState: { errors }
711
- } = (0, import_react_hook_form10.useFormContext)();
712
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
712
+ const { control, getFieldState } = (0, import_react_hook_form10.useFormContext)();
713
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
713
714
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
714
715
  import_react_hook_form10.Controller,
715
716
  {
@@ -719,7 +720,7 @@ var ControlledRadioGroup = (_a) => {
719
720
  rules: { deps, onBlur, onChange, required, shouldUnregister, value },
720
721
  shouldUnregister,
721
722
  render: ({ field }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_mui_form_utils3.FormControl, { error: !!errorMessage, children: [
722
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils3.FormLabel, { children: label }),
723
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils3.FormLabel, { required: typeof required === "object" ? required.value : !!required, children: label }),
723
724
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils2.RadioGroup, __spreadValues(__spreadValues({}, field), rest)),
724
725
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils3.FormHelperText, { children: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
725
726
  errorMessage,
@@ -769,15 +770,12 @@ var ControlledSelect = (_a) => {
769
770
  "shouldUnregister",
770
771
  "deps"
771
772
  ]);
772
- const {
773
- register,
774
- formState: { errors }
775
- } = (0, import_react_hook_form11.useFormContext)();
773
+ const { register, getFieldState } = (0, import_react_hook_form11.useFormContext)();
776
774
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
777
775
  import_mui_form_utils4.Select,
778
776
  __spreadValues(__spreadProps(__spreadValues({}, rest), {
779
- error: !!errors[name],
780
- required: !!required
777
+ error: !!getFieldState(name).error,
778
+ required: typeof required === "object" ? required.value : !!required
781
779
  }), register(name, {
782
780
  required,
783
781
  maxLength,
@@ -838,15 +836,12 @@ var ControlledTextField = (_a) => {
838
836
  "deps"
839
837
  ]);
840
838
  var _a2;
841
- const {
842
- register,
843
- formState: { errors }
844
- } = (0, import_react_hook_form12.useFormContext)();
845
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
839
+ const { register, getFieldState } = (0, import_react_hook_form12.useFormContext)();
840
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
846
841
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
847
842
  import_mui_textfield.TextField,
848
843
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, rest), {
849
- required: !!required
844
+ required: typeof required === "object" ? required.value : !!required
850
845
  }), register(name, {
851
846
  required,
852
847
  maxLength,
@@ -863,7 +858,7 @@ var ControlledTextField = (_a) => {
863
858
  shouldUnregister,
864
859
  deps
865
860
  })), {
866
- error: !!errors[name],
861
+ error: !!getFieldState(name).error,
867
862
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
868
863
  errorMessage,
869
864
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("br", {}),
package/dist/index.mjs CHANGED
@@ -67,11 +67,8 @@ var ControlledAsyncAutocomplete = (_a) => {
67
67
  "FieldProps"
68
68
  ]);
69
69
  var _a2;
70
- const {
71
- control,
72
- formState: { errors }
73
- } = useFormContext();
74
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
70
+ const { control, getFieldState } = useFormContext();
71
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
75
72
  return /* @__PURE__ */ jsx(
76
73
  Controller,
77
74
  {
@@ -97,6 +94,7 @@ var ControlledAsyncAutocomplete = (_a) => {
97
94
  AsyncAutocomplete,
98
95
  __spreadProps(__spreadValues({}, rest), {
99
96
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
97
+ required: typeof required === "object" ? required.value : !!required,
100
98
  error: !!errorMessage,
101
99
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs(Fragment, { children: [
102
100
  errorMessage,
@@ -157,11 +155,8 @@ var ControlledAutocomplete = (_a) => {
157
155
  "value"
158
156
  ]);
159
157
  var _a2;
160
- const {
161
- control,
162
- formState: { errors }
163
- } = useFormContext2();
164
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
158
+ const { control, getFieldState } = useFormContext2();
159
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
165
160
  return /* @__PURE__ */ jsx2(
166
161
  Controller2,
167
162
  {
@@ -187,6 +182,7 @@ var ControlledAutocomplete = (_a) => {
187
182
  Autocomplete,
188
183
  __spreadProps(__spreadValues({}, rest), {
189
184
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
185
+ required: typeof required === "object" ? required.value : !!required,
190
186
  error: !!errorMessage,
191
187
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
192
188
  errorMessage,
@@ -282,11 +278,8 @@ var ControlledCodesAutocomplete = (_a) => {
282
278
  "FieldProps"
283
279
  ]);
284
280
  var _a2;
285
- const {
286
- control,
287
- formState: { errors }
288
- } = useFormContext4();
289
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
281
+ const { control, getFieldState } = useFormContext4();
282
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
290
283
  return /* @__PURE__ */ jsx4(
291
284
  Controller3,
292
285
  {
@@ -310,6 +303,7 @@ var ControlledCodesAutocomplete = (_a) => {
310
303
  CodesAutocomplete,
311
304
  __spreadProps(__spreadValues({}, rest), {
312
305
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
306
+ required: typeof required === "object" ? required.value : !!required,
313
307
  error: !!errorMessage,
314
308
  helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs3(Fragment3, { children: [
315
309
  errorMessage,
@@ -347,7 +341,7 @@ var ControlledForm = (_a) => {
347
341
  // src/lib/Datepicker.tsx
348
342
  import { Datepicker } from "@availity/mui-datepicker";
349
343
  import { useFormContext as useFormContext5, Controller as Controller4 } from "react-hook-form";
350
- import { jsx as jsx6 } from "react/jsx-runtime";
344
+ import { Fragment as Fragment4, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
351
345
  var ControlledDatepicker = (_a) => {
352
346
  var _b = _a, {
353
347
  name,
@@ -363,7 +357,8 @@ var ControlledDatepicker = (_a) => {
363
357
  required,
364
358
  shouldUnregister,
365
359
  validate,
366
- value
360
+ value,
361
+ FieldProps
367
362
  } = _b, rest = __objRest(_b, [
368
363
  "name",
369
364
  "defaultValue",
@@ -378,7 +373,8 @@ var ControlledDatepicker = (_a) => {
378
373
  "required",
379
374
  "shouldUnregister",
380
375
  "validate",
381
- "value"
376
+ "value",
377
+ "FieldProps"
382
378
  ]);
383
379
  const { control } = useFormContext5();
384
380
  return /* @__PURE__ */ jsx6(
@@ -402,7 +398,22 @@ var ControlledDatepicker = (_a) => {
402
398
  value
403
399
  },
404
400
  shouldUnregister,
405
- render: ({ field: { onChange: onChange2, value: value2 } }) => /* @__PURE__ */ jsx6(Datepicker, __spreadProps(__spreadValues({}, rest), { onChange: onChange2, value: value2 || null }))
401
+ render: ({ field: { onChange: onChange2, value: value2 }, fieldState: { error } }) => /* @__PURE__ */ jsx6(
402
+ Datepicker,
403
+ __spreadProps(__spreadValues({}, rest), {
404
+ FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
405
+ required: typeof required === "object" ? required.value : !!required,
406
+ error: !!error,
407
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs4(Fragment4, { children: [
408
+ error == null ? void 0 : error.message,
409
+ /* @__PURE__ */ jsx6("br", {}),
410
+ FieldProps == null ? void 0 : FieldProps.helperText
411
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText
412
+ }),
413
+ onChange: onChange2,
414
+ value: value2 || null
415
+ })
416
+ )
406
417
  }
407
418
  );
408
419
  };
@@ -445,15 +456,12 @@ var ControlledInput = (_a) => {
445
456
  "shouldUnregister",
446
457
  "deps"
447
458
  ]);
448
- const {
449
- register,
450
- formState: { errors }
451
- } = useFormContext6();
459
+ const { register, getFieldState } = useFormContext6();
452
460
  return /* @__PURE__ */ jsx7(
453
461
  Input,
454
462
  __spreadValues(__spreadProps(__spreadValues({}, rest), {
455
- error: !!errors[name],
456
- required: !!required
463
+ error: !!getFieldState(name).error,
464
+ required: typeof required === "object" ? required.value : !!required
457
465
  }), register(name, {
458
466
  required,
459
467
  maxLength,
@@ -476,7 +484,7 @@ var ControlledInput = (_a) => {
476
484
  // src/lib/OrganizationAutocomplete.tsx
477
485
  import { OrganizationAutocomplete } from "@availity/mui-autocomplete";
478
486
  import { useFormContext as useFormContext7, Controller as Controller5 } from "react-hook-form";
479
- import { Fragment as Fragment4, jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
487
+ import { Fragment as Fragment5, jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
480
488
  var ControlledOrganizationAutocomplete = (_a) => {
481
489
  var _b = _a, {
482
490
  name,
@@ -504,11 +512,8 @@ var ControlledOrganizationAutocomplete = (_a) => {
504
512
  "FieldProps"
505
513
  ]);
506
514
  var _a2;
507
- const {
508
- control,
509
- formState: { errors }
510
- } = useFormContext7();
511
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
515
+ const { control, getFieldState } = useFormContext7();
516
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
512
517
  return /* @__PURE__ */ jsx8(
513
518
  Controller5,
514
519
  {
@@ -530,8 +535,9 @@ var ControlledOrganizationAutocomplete = (_a) => {
530
535
  OrganizationAutocomplete,
531
536
  __spreadProps(__spreadValues({}, rest), {
532
537
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
538
+ required: typeof required === "object" ? required.value : !!required,
533
539
  error: !!errorMessage,
534
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs4(Fragment4, { children: [
540
+ helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs5(Fragment5, { children: [
535
541
  errorMessage,
536
542
  /* @__PURE__ */ jsx8("br", {}),
537
543
  FieldProps == null ? void 0 : FieldProps.helperText
@@ -554,7 +560,7 @@ var ControlledOrganizationAutocomplete = (_a) => {
554
560
  // src/lib/ProviderAutocomplete.tsx
555
561
  import { ProviderAutocomplete } from "@availity/mui-autocomplete";
556
562
  import { useFormContext as useFormContext8, Controller as Controller6 } from "react-hook-form";
557
- import { Fragment as Fragment5, jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
563
+ import { Fragment as Fragment6, jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
558
564
  var ControlledProviderAutocomplete = (_a) => {
559
565
  var _b = _a, {
560
566
  name,
@@ -590,11 +596,8 @@ var ControlledProviderAutocomplete = (_a) => {
590
596
  "FieldProps"
591
597
  ]);
592
598
  var _a2;
593
- const {
594
- control,
595
- formState: { errors }
596
- } = useFormContext8();
597
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
599
+ const { control, getFieldState } = useFormContext8();
600
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
598
601
  return /* @__PURE__ */ jsx9(
599
602
  Controller6,
600
603
  {
@@ -620,8 +623,9 @@ var ControlledProviderAutocomplete = (_a) => {
620
623
  ProviderAutocomplete,
621
624
  __spreadProps(__spreadValues({}, rest), {
622
625
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
626
+ required: typeof required === "object" ? required.value : !!required,
623
627
  error: !!errorMessage,
624
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs5(Fragment5, { children: [
628
+ helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs6(Fragment6, { children: [
625
629
  errorMessage,
626
630
  /* @__PURE__ */ jsx9("br", {}),
627
631
  FieldProps == null ? void 0 : FieldProps.helperText
@@ -645,7 +649,7 @@ var ControlledProviderAutocomplete = (_a) => {
645
649
  import { RadioGroup } from "@availity/mui-form-utils";
646
650
  import { useFormContext as useFormContext9, Controller as Controller7 } from "react-hook-form";
647
651
  import { FormControl, FormLabel, FormHelperText } from "@availity/mui-form-utils";
648
- import { Fragment as Fragment6, jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
652
+ import { Fragment as Fragment7, jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
649
653
  var ControlledRadioGroup = (_a) => {
650
654
  var _b = _a, {
651
655
  name,
@@ -671,11 +675,8 @@ var ControlledRadioGroup = (_a) => {
671
675
  "value"
672
676
  ]);
673
677
  var _a2;
674
- const {
675
- control,
676
- formState: { errors }
677
- } = useFormContext9();
678
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
678
+ const { control, getFieldState } = useFormContext9();
679
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
679
680
  return /* @__PURE__ */ jsx10(
680
681
  Controller7,
681
682
  {
@@ -684,10 +685,10 @@ var ControlledRadioGroup = (_a) => {
684
685
  defaultValue,
685
686
  rules: { deps, onBlur, onChange, required, shouldUnregister, value },
686
687
  shouldUnregister,
687
- render: ({ field }) => /* @__PURE__ */ jsxs6(FormControl, { error: !!errorMessage, children: [
688
- /* @__PURE__ */ jsx10(FormLabel, { children: label }),
688
+ render: ({ field }) => /* @__PURE__ */ jsxs7(FormControl, { error: !!errorMessage, children: [
689
+ /* @__PURE__ */ jsx10(FormLabel, { required: typeof required === "object" ? required.value : !!required, children: label }),
689
690
  /* @__PURE__ */ jsx10(RadioGroup, __spreadValues(__spreadValues({}, field), rest)),
690
- /* @__PURE__ */ jsx10(FormHelperText, { children: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs6(Fragment6, { children: [
691
+ /* @__PURE__ */ jsx10(FormHelperText, { children: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs7(Fragment7, { children: [
691
692
  errorMessage,
692
693
  /* @__PURE__ */ jsx10("br", {}),
693
694
  helperText
@@ -735,15 +736,12 @@ var ControlledSelect = (_a) => {
735
736
  "shouldUnregister",
736
737
  "deps"
737
738
  ]);
738
- const {
739
- register,
740
- formState: { errors }
741
- } = useFormContext10();
739
+ const { register, getFieldState } = useFormContext10();
742
740
  return /* @__PURE__ */ jsx11(
743
741
  Select,
744
742
  __spreadValues(__spreadProps(__spreadValues({}, rest), {
745
- error: !!errors[name],
746
- required: !!required
743
+ error: !!getFieldState(name).error,
744
+ required: typeof required === "object" ? required.value : !!required
747
745
  }), register(name, {
748
746
  required,
749
747
  maxLength,
@@ -766,7 +764,7 @@ var ControlledSelect = (_a) => {
766
764
  // src/lib/TextField.tsx
767
765
  import { TextField } from "@availity/mui-textfield";
768
766
  import { useFormContext as useFormContext11 } from "react-hook-form";
769
- import { Fragment as Fragment7, jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
767
+ import { Fragment as Fragment8, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
770
768
  var ControlledTextField = (_a) => {
771
769
  var _b = _a, {
772
770
  name,
@@ -804,15 +802,12 @@ var ControlledTextField = (_a) => {
804
802
  "deps"
805
803
  ]);
806
804
  var _a2;
807
- const {
808
- register,
809
- formState: { errors }
810
- } = useFormContext11();
811
- const errorMessage = (_a2 = errors[name]) == null ? void 0 : _a2.message;
805
+ const { register, getFieldState } = useFormContext11();
806
+ const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
812
807
  return /* @__PURE__ */ jsx12(
813
808
  TextField,
814
809
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, rest), {
815
- required: !!required
810
+ required: typeof required === "object" ? required.value : !!required
816
811
  }), register(name, {
817
812
  required,
818
813
  maxLength,
@@ -829,8 +824,8 @@ var ControlledTextField = (_a) => {
829
824
  shouldUnregister,
830
825
  deps
831
826
  })), {
832
- error: !!errors[name],
833
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs7(Fragment7, { children: [
827
+ error: !!getFieldState(name).error,
828
+ helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ jsxs8(Fragment8, { children: [
834
829
  errorMessage,
835
830
  /* @__PURE__ */ jsx12("br", {}),
836
831
  helperText
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@availity/mui-controlled-form",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Availity MUI ControlledForm Component - part of the @availity/element design system",
5
5
  "keywords": [
6
6
  "react",
@@ -35,11 +35,8 @@ export const ControlledAsyncAutocomplete = <
35
35
  FieldProps,
36
36
  ...rest
37
37
  }: ControlledAsyncAutocompleteProps<Option, Multiple, DisableClearable, FreeSolo, ChipComponent>) => {
38
- const {
39
- control,
40
- formState: { errors },
41
- } = useFormContext();
42
- const errorMessage = errors[name]?.message;
38
+ const { control, getFieldState } = useFormContext();
39
+ const errorMessage = getFieldState(name).error?.message;
43
40
  return (
44
41
  <Controller
45
42
  name={name}
@@ -65,6 +62,7 @@ export const ControlledAsyncAutocomplete = <
65
62
  {...rest}
66
63
  FieldProps={{
67
64
  ...FieldProps,
65
+ required: typeof required === 'object' ? required.value : !!required,
68
66
  error: !!errorMessage,
69
67
  helperText:
70
68
  errorMessage && typeof errorMessage === 'string' ? (
@@ -39,11 +39,8 @@ export const ControlledAutocomplete = <
39
39
  value,
40
40
  ...rest
41
41
  }: ControlledAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>) => {
42
- const {
43
- control,
44
- formState: { errors },
45
- } = useFormContext();
46
- const errorMessage = errors[name]?.message;
42
+ const { control, getFieldState } = useFormContext();
43
+ const errorMessage = getFieldState(name).error?.message;
47
44
  return (
48
45
  <Controller
49
46
  control={control}
@@ -69,6 +66,7 @@ export const ControlledAutocomplete = <
69
66
  {...rest}
70
67
  FieldProps={{
71
68
  ...FieldProps,
69
+ required: typeof required === 'object' ? required.value : !!required,
72
70
  error: !!errorMessage,
73
71
  helperText:
74
72
  errorMessage && typeof errorMessage === 'string' ? (
@@ -21,11 +21,8 @@ export const ControlledCodesAutocomplete = ({
21
21
  FieldProps,
22
22
  ...rest
23
23
  }: ControlledCodesAutocompleteProps) => {
24
- const {
25
- control,
26
- formState: { errors },
27
- } = useFormContext();
28
- const errorMessage = errors[name]?.message;
24
+ const { control, getFieldState } = useFormContext();
25
+ const errorMessage = getFieldState(name).error?.message;
29
26
  return (
30
27
  <Controller
31
28
  name={name}
@@ -49,6 +46,7 @@ export const ControlledCodesAutocomplete = ({
49
46
  {...rest}
50
47
  FieldProps={{
51
48
  ...FieldProps,
49
+ required: typeof required === 'object' ? required.value : !!required,
52
50
  error: !!errorMessage,
53
51
  helperText:
54
52
  errorMessage && typeof errorMessage === 'string' ? (
@@ -20,6 +20,7 @@ export const ControlledDatepicker = ({
20
20
  shouldUnregister,
21
21
  validate,
22
22
  value,
23
+ FieldProps,
23
24
  ...rest
24
25
  }: ControlledDatepickerProps) => {
25
26
  const { control } = useFormContext();
@@ -43,7 +44,27 @@ export const ControlledDatepicker = ({
43
44
  value,
44
45
  }}
45
46
  shouldUnregister={shouldUnregister}
46
- render={({ field: { onChange, value } }) => <Datepicker {...rest} onChange={onChange} value={value || null} />}
47
+ render={({ field: { onChange, value }, fieldState: { error } }) => (
48
+ <Datepicker
49
+ {...rest}
50
+ FieldProps={{
51
+ ...FieldProps,
52
+ required: typeof required === 'object' ? required.value : !!required,
53
+ error: !!error,
54
+ helperText: error?.message ? (
55
+ <>
56
+ {error?.message}
57
+ <br />
58
+ {FieldProps?.helperText}
59
+ </>
60
+ ) : (
61
+ FieldProps?.helperText
62
+ ),
63
+ }}
64
+ onChange={onChange}
65
+ value={value || null}
66
+ />
67
+ )}
47
68
  />
48
69
  );
49
70
  };
package/src/lib/Input.tsx CHANGED
@@ -24,15 +24,12 @@ export const ControlledInput = ({
24
24
  deps,
25
25
  ...rest
26
26
  }: ControlledInputProps) => {
27
- const {
28
- register,
29
- formState: { errors },
30
- } = useFormContext();
27
+ const { register, getFieldState } = useFormContext();
31
28
  return (
32
29
  <Input
33
30
  {...rest}
34
- error={!!errors[name]}
35
- required={!!required}
31
+ error={!!getFieldState(name).error}
32
+ required={typeof required === 'object' ? required.value : !!required}
36
33
  {...register(name, {
37
34
  required,
38
35
  maxLength,
@@ -22,11 +22,8 @@ export const ControlledOrganizationAutocomplete = ({
22
22
  FieldProps,
23
23
  ...rest
24
24
  }: ControlledOrgAutocompleteProps) => {
25
- const {
26
- control,
27
- formState: { errors },
28
- } = useFormContext();
29
- const errorMessage = errors[name]?.message;
25
+ const { control, getFieldState } = useFormContext();
26
+ const errorMessage = getFieldState(name).error?.message;
30
27
  return (
31
28
  <Controller
32
29
  name={name}
@@ -48,6 +45,7 @@ export const ControlledOrganizationAutocomplete = ({
48
45
  {...rest}
49
46
  FieldProps={{
50
47
  ...FieldProps,
48
+ required: typeof required === 'object' ? required.value : !!required,
51
49
  error: !!errorMessage,
52
50
  helperText:
53
51
  errorMessage && typeof errorMessage === 'string' ? (
@@ -23,11 +23,8 @@ export const ControlledProviderAutocomplete = ({
23
23
  FieldProps,
24
24
  ...rest
25
25
  }: ControlledProviderAutocompleteProps) => {
26
- const {
27
- control,
28
- formState: { errors },
29
- } = useFormContext();
30
- const errorMessage = errors[name]?.message;
26
+ const { control, getFieldState } = useFormContext();
27
+ const errorMessage = getFieldState(name).error?.message;
31
28
  return (
32
29
  <Controller
33
30
  name={name}
@@ -53,6 +50,7 @@ export const ControlledProviderAutocomplete = ({
53
50
  {...rest}
54
51
  FieldProps={{
55
52
  ...FieldProps,
53
+ required: typeof required === 'object' ? required.value : !!required,
56
54
  error: !!errorMessage,
57
55
  helperText:
58
56
  errorMessage && typeof errorMessage === 'string' ? (
@@ -34,11 +34,8 @@ export const ControlledRadioGroup = ({
34
34
  value,
35
35
  ...rest
36
36
  }: ControlledRadioGroupProps) => {
37
- const {
38
- control,
39
- formState: { errors },
40
- } = useFormContext();
41
- const errorMessage = errors[name]?.message;
37
+ const { control, getFieldState } = useFormContext();
38
+ const errorMessage = getFieldState(name).error?.message;
42
39
  return (
43
40
  <Controller
44
41
  control={control}
@@ -48,7 +45,7 @@ export const ControlledRadioGroup = ({
48
45
  shouldUnregister={shouldUnregister}
49
46
  render={({ field }) => (
50
47
  <FormControl error={!!errorMessage}>
51
- <FormLabel>{label}</FormLabel>
48
+ <FormLabel required={typeof required === 'object' ? required.value : !!required}>{label}</FormLabel>
52
49
  <RadioGroup {...field} {...rest} />
53
50
  <FormHelperText>
54
51
  {errorMessage && typeof errorMessage === 'string' ? (
@@ -24,16 +24,13 @@ export const ControlledSelect = ({
24
24
  deps,
25
25
  ...rest
26
26
  }: ControlledSelectProps) => {
27
- const {
28
- register,
29
- formState: { errors },
30
- } = useFormContext();
27
+ const { register, getFieldState } = useFormContext();
31
28
 
32
29
  return (
33
30
  <Select
34
31
  {...rest}
35
- error={!!errors[name]}
36
- required={!!required}
32
+ error={!!getFieldState(name).error}
33
+ required={typeof required === 'object' ? required.value : !!required}
37
34
  {...register(name, {
38
35
  required,
39
36
  maxLength,
@@ -24,17 +24,14 @@ export const ControlledTextField = ({
24
24
  deps,
25
25
  ...rest
26
26
  }: ControlledTextFieldProps) => {
27
- const {
28
- register,
29
- formState: { errors },
30
- } = useFormContext();
27
+ const { register, getFieldState } = useFormContext();
31
28
 
32
- const errorMessage = errors[name]?.message;
29
+ const errorMessage = getFieldState(name).error?.message;
33
30
 
34
31
  return (
35
32
  <TextField
36
33
  {...rest}
37
- required={!!required}
34
+ required={typeof required === 'object' ? required.value : !!required}
38
35
  {...register(name, {
39
36
  required,
40
37
  maxLength,
@@ -51,7 +48,7 @@ export const ControlledTextField = ({
51
48
  shouldUnregister,
52
49
  deps,
53
50
  })}
54
- error={!!errors[name]}
51
+ error={!!getFieldState(name).error}
55
52
  helperText={
56
53
  errorMessage && typeof errorMessage === 'string' ? (
57
54
  <>