@availity/mui-controlled-form 0.2.6 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -2
  3. package/dist/index.d.mts +122 -26
  4. package/dist/index.d.ts +122 -26
  5. package/dist/index.js +175 -132
  6. package/dist/index.mjs +175 -131
  7. package/package.json +2 -2
  8. package/src/index.ts +47 -0
  9. package/src/lib/AsyncAutocomplete.stories.tsx +21 -36
  10. package/src/lib/AsyncAutocomplete.test.tsx +17 -53
  11. package/src/lib/AsyncAutocomplete.tsx +13 -6
  12. package/src/lib/Autocomplete.stories.tsx +20 -33
  13. package/src/lib/Autocomplete.test.tsx +7 -37
  14. package/src/lib/Autocomplete.tsx +21 -16
  15. package/src/lib/Checkbox.stories.tsx +48 -46
  16. package/src/lib/Checkbox.test.tsx +14 -46
  17. package/src/lib/Checkbox.tsx +19 -16
  18. package/src/lib/CodesAutocomplete.stories.tsx +21 -35
  19. package/src/lib/CodesAutocomplete.test.tsx +20 -54
  20. package/src/lib/CodesAutocomplete.tsx +13 -6
  21. package/src/lib/ControlledForm.stories.tsx +1 -0
  22. package/src/lib/ControlledForm.tsx +7 -3
  23. package/src/lib/Datepicker.stories.tsx +19 -32
  24. package/src/lib/Datepicker.test.tsx +3 -35
  25. package/src/lib/Datepicker.tsx +18 -8
  26. package/src/lib/Input.stories.tsx +32 -38
  27. package/src/lib/Input.test.tsx +71 -7
  28. package/src/lib/Input.tsx +30 -15
  29. package/src/lib/OrganizationAutocomplete.stories.tsx +30 -35
  30. package/src/lib/OrganizationAutocomplete.test.tsx +23 -57
  31. package/src/lib/OrganizationAutocomplete.tsx +14 -9
  32. package/src/lib/ProviderAutocomplete.stories.tsx +20 -35
  33. package/src/lib/ProviderAutocomplete.test.tsx +29 -63
  34. package/src/lib/ProviderAutocomplete.tsx +11 -5
  35. package/src/lib/RadioGroup.stories.tsx +41 -36
  36. package/src/lib/RadioGroup.test.tsx +3 -35
  37. package/src/lib/RadioGroup.tsx +31 -20
  38. package/src/lib/Select.stories.tsx +66 -93
  39. package/src/lib/Select.test.tsx +8 -36
  40. package/src/lib/Select.tsx +30 -15
  41. package/src/lib/TextField.stories.tsx +26 -39
  42. package/src/lib/TextField.test.tsx +71 -5
  43. package/src/lib/TextField.tsx +33 -17
  44. package/src/lib/Types.tsx +2489 -0
  45. package/src/lib/UtilComponents.tsx +52 -0
  46. package/docs/propDefinitions.tsx +0 -31
package/dist/index.mjs CHANGED
@@ -46,6 +46,7 @@ var ControlledAsyncAutocomplete = (_a) => {
46
46
  onChange,
47
47
  pattern,
48
48
  required,
49
+ rules = {},
49
50
  shouldUnregister,
50
51
  validate,
51
52
  value,
@@ -61,6 +62,7 @@ var ControlledAsyncAutocomplete = (_a) => {
61
62
  "onChange",
62
63
  "pattern",
63
64
  "required",
65
+ "rules",
64
66
  "shouldUnregister",
65
67
  "validate",
66
68
  "value",
@@ -71,7 +73,7 @@ var ControlledAsyncAutocomplete = (_a) => {
71
73
  {
72
74
  name,
73
75
  defaultValue: rest.defaultValue,
74
- rules: {
76
+ rules: __spreadValues({
75
77
  deps,
76
78
  max,
77
79
  maxLength,
@@ -84,19 +86,19 @@ var ControlledAsyncAutocomplete = (_a) => {
84
86
  shouldUnregister,
85
87
  validate,
86
88
  value
87
- },
89
+ }, rules),
88
90
  shouldUnregister,
89
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 }, fieldState: { error } }) => /* @__PURE__ */ jsx(
91
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ jsx(
90
92
  AsyncAutocomplete,
91
93
  __spreadProps(__spreadValues({}, rest), {
92
94
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
93
- required: typeof required === "object" ? required.value : !!required,
94
95
  error: !!error,
95
96
  helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs(Fragment, { children: [
96
97
  error.message,
97
98
  /* @__PURE__ */ jsx("br", {}),
98
99
  FieldProps == null ? void 0 : FieldProps.helperText
99
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
100
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
101
+ inputRef: ref
100
102
  }),
101
103
  onChange: (event, value3, reason) => {
102
104
  if (reason === "clear") {
@@ -121,6 +123,7 @@ var ControlledAutocomplete = (_a) => {
121
123
  name,
122
124
  FieldProps,
123
125
  defaultValue,
126
+ rules = {},
124
127
  deps,
125
128
  max,
126
129
  maxLength,
@@ -137,6 +140,7 @@ var ControlledAutocomplete = (_a) => {
137
140
  "name",
138
141
  "FieldProps",
139
142
  "defaultValue",
143
+ "rules",
140
144
  "deps",
141
145
  "max",
142
146
  "maxLength",
@@ -155,7 +159,7 @@ var ControlledAutocomplete = (_a) => {
155
159
  {
156
160
  name,
157
161
  defaultValue,
158
- rules: {
162
+ rules: __spreadValues({
159
163
  deps,
160
164
  max,
161
165
  maxLength,
@@ -168,19 +172,19 @@ var ControlledAutocomplete = (_a) => {
168
172
  shouldUnregister,
169
173
  validate,
170
174
  value
171
- },
175
+ }, rules),
172
176
  shouldUnregister,
173
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 }, fieldState: { error } }) => /* @__PURE__ */ jsx2(
177
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ jsx2(
174
178
  Autocomplete,
175
179
  __spreadProps(__spreadValues({}, rest), {
176
180
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
177
- required: typeof required === "object" ? required.value : !!required,
178
181
  error: !!error,
179
182
  helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
180
183
  error.message,
181
184
  /* @__PURE__ */ jsx2("br", {}),
182
185
  FieldProps == null ? void 0 : FieldProps.helperText
183
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
186
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
187
+ inputRef: ref
184
188
  }),
185
189
  onChange: (event, value3, reason) => {
186
190
  if (reason === "clear") {
@@ -208,8 +212,10 @@ var ControlledCheckbox = (_a) => {
208
212
  onBlur,
209
213
  value,
210
214
  defaultValue = false,
215
+ rules = {},
211
216
  shouldUnregister,
212
- deps
217
+ deps,
218
+ validate
213
219
  } = _b, rest = __objRest(_b, [
214
220
  "name",
215
221
  "disabled",
@@ -217,8 +223,10 @@ var ControlledCheckbox = (_a) => {
217
223
  "onBlur",
218
224
  "value",
219
225
  "defaultValue",
226
+ "rules",
220
227
  "shouldUnregister",
221
- "deps"
228
+ "deps",
229
+ "validate"
222
230
  ]);
223
231
  return /* @__PURE__ */ jsx3(
224
232
  Controller3,
@@ -226,13 +234,14 @@ var ControlledCheckbox = (_a) => {
226
234
  name,
227
235
  defaultValue,
228
236
  disabled,
229
- rules: {
237
+ rules: __spreadValues({
230
238
  onChange,
231
239
  onBlur,
232
240
  value,
233
241
  shouldUnregister,
234
- deps
235
- },
242
+ deps,
243
+ validate
244
+ }, rules),
236
245
  shouldUnregister,
237
246
  render: ({ field }) => /* @__PURE__ */ jsx3(Checkbox, __spreadProps(__spreadValues(__spreadValues({}, rest), field), { checked: field.value, onChange: (e) => field.onChange(e.target.checked) }))
238
247
  }
@@ -254,6 +263,7 @@ var ControlledCodesAutocomplete = (_a) => {
254
263
  onChange,
255
264
  pattern,
256
265
  required,
266
+ rules = {},
257
267
  shouldUnregister,
258
268
  validate,
259
269
  value,
@@ -268,6 +278,7 @@ var ControlledCodesAutocomplete = (_a) => {
268
278
  "onChange",
269
279
  "pattern",
270
280
  "required",
281
+ "rules",
271
282
  "shouldUnregister",
272
283
  "validate",
273
284
  "value",
@@ -278,7 +289,7 @@ var ControlledCodesAutocomplete = (_a) => {
278
289
  {
279
290
  name,
280
291
  defaultValue,
281
- rules: {
292
+ rules: __spreadValues({
282
293
  deps,
283
294
  max,
284
295
  maxLength,
@@ -289,19 +300,19 @@ var ControlledCodesAutocomplete = (_a) => {
289
300
  shouldUnregister,
290
301
  validate,
291
302
  value
292
- },
303
+ }, rules),
293
304
  shouldUnregister,
294
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 }, fieldState: { error } }) => /* @__PURE__ */ jsx4(
305
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ jsx4(
295
306
  CodesAutocomplete,
296
307
  __spreadProps(__spreadValues({}, rest), {
297
308
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
298
- required: typeof required === "object" ? required.value : !!required,
299
309
  error: !!error,
300
310
  helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs3(Fragment3, { children: [
301
311
  error.message,
302
312
  /* @__PURE__ */ jsx4("br", {}),
303
313
  FieldProps == null ? void 0 : FieldProps.helperText
304
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
314
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
315
+ inputRef: ref
305
316
  }),
306
317
  onChange: (event, value3, reason) => {
307
318
  if (reason === "clear") {
@@ -321,8 +332,8 @@ var ControlledCodesAutocomplete = (_a) => {
321
332
  import { useForm, FormProvider } from "react-hook-form";
322
333
  import { jsx as jsx5 } from "react/jsx-runtime";
323
334
  var ControlledForm = (_a) => {
324
- var _b = _a, { onSubmit, values, schema, validationResolver } = _b, rest = __objRest(_b, ["onSubmit", "values", "schema", "validationResolver"]);
325
- const useFormOptions = { values };
335
+ var _b = _a, { onSubmit, values, schema, validationResolver, additionalUseFormOptions = { mode: "onBlur" } } = _b, rest = __objRest(_b, ["onSubmit", "values", "schema", "validationResolver", "additionalUseFormOptions"]);
336
+ const useFormOptions = __spreadValues({ values }, additionalUseFormOptions);
326
337
  if (schema && validationResolver) {
327
338
  useFormOptions.resolver = validationResolver(schema);
328
339
  }
@@ -347,6 +358,7 @@ var ControlledDatepicker = (_a) => {
347
358
  onChange,
348
359
  pattern,
349
360
  required,
361
+ rules = {},
350
362
  shouldUnregister,
351
363
  validate,
352
364
  value,
@@ -363,6 +375,7 @@ var ControlledDatepicker = (_a) => {
363
375
  "onChange",
364
376
  "pattern",
365
377
  "required",
378
+ "rules",
366
379
  "shouldUnregister",
367
380
  "validate",
368
381
  "value",
@@ -373,7 +386,7 @@ var ControlledDatepicker = (_a) => {
373
386
  {
374
387
  name,
375
388
  defaultValue,
376
- rules: {
389
+ rules: __spreadValues({
377
390
  deps,
378
391
  max,
379
392
  maxLength,
@@ -386,19 +399,22 @@ var ControlledDatepicker = (_a) => {
386
399
  shouldUnregister,
387
400
  validate,
388
401
  value
389
- },
402
+ }, rules),
390
403
  shouldUnregister,
391
- render: ({ field: { onChange: onChange2, value: value2 }, fieldState: { error } }) => /* @__PURE__ */ jsx6(
404
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ jsx6(
392
405
  Datepicker,
393
406
  __spreadProps(__spreadValues({}, rest), {
394
407
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
395
- required: typeof required === "object" ? required.value : !!required,
396
408
  error: !!error,
397
- helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs4(Fragment4, { children: [
398
- error == null ? void 0 : error.message,
409
+ helperText: error ? /* @__PURE__ */ jsxs4(Fragment4, { children: [
410
+ error.message,
399
411
  /* @__PURE__ */ jsx6("br", {}),
400
412
  FieldProps == null ? void 0 : FieldProps.helperText
401
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
413
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
414
+ inputRef: ref,
415
+ inputProps: {
416
+ onBlur: onBlur2
417
+ }
402
418
  }),
403
419
  onChange: onChange2,
404
420
  value: value2 || null
@@ -415,36 +431,38 @@ import { jsx as jsx7 } from "react/jsx-runtime";
415
431
  var ControlledInput = (_a) => {
416
432
  var _b = _a, {
417
433
  name,
418
- required,
419
- maxLength,
420
- minLength,
421
- max,
422
- min,
423
- pattern,
424
- validate,
425
434
  defaultValue,
435
+ deps,
426
436
  disabled,
427
- onChange,
437
+ max,
438
+ maxLength,
439
+ min,
440
+ minLength,
428
441
  onBlur,
429
- value,
442
+ onChange,
443
+ pattern,
444
+ required,
445
+ rules = {},
430
446
  shouldUnregister,
431
- deps
447
+ validate,
448
+ value
432
449
  } = _b, rest = __objRest(_b, [
433
450
  "name",
434
- "required",
435
- "maxLength",
436
- "minLength",
437
- "max",
438
- "min",
439
- "pattern",
440
- "validate",
441
451
  "defaultValue",
452
+ "deps",
442
453
  "disabled",
443
- "onChange",
454
+ "max",
455
+ "maxLength",
456
+ "min",
457
+ "minLength",
444
458
  "onBlur",
445
- "value",
459
+ "onChange",
460
+ "pattern",
461
+ "required",
462
+ "rules",
446
463
  "shouldUnregister",
447
- "deps"
464
+ "validate",
465
+ "value"
448
466
  ]);
449
467
  return /* @__PURE__ */ jsx7(
450
468
  Controller6,
@@ -452,8 +470,8 @@ var ControlledInput = (_a) => {
452
470
  name,
453
471
  defaultValue,
454
472
  disabled,
455
- rules: {
456
- required,
473
+ rules: __spreadValues({
474
+ required: typeof required === "boolean" ? void 0 : required,
457
475
  maxLength,
458
476
  minLength,
459
477
  max,
@@ -465,13 +483,13 @@ var ControlledInput = (_a) => {
465
483
  value,
466
484
  shouldUnregister,
467
485
  deps
468
- },
486
+ }, rules),
469
487
  shouldUnregister,
470
488
  render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsx7(
471
489
  Input,
472
490
  __spreadProps(__spreadValues(__spreadValues({}, rest), field), {
473
491
  error: !!error,
474
- required: typeof required === "object" ? required.value : !!required
492
+ required: !!required
475
493
  })
476
494
  )
477
495
  }
@@ -491,6 +509,7 @@ var ControlledOrganizationAutocomplete = (_a) => {
491
509
  onChange,
492
510
  pattern,
493
511
  required,
512
+ rules = {},
494
513
  shouldUnregister,
495
514
  validate,
496
515
  value,
@@ -503,6 +522,7 @@ var ControlledOrganizationAutocomplete = (_a) => {
503
522
  "onChange",
504
523
  "pattern",
505
524
  "required",
525
+ "rules",
506
526
  "shouldUnregister",
507
527
  "validate",
508
528
  "value",
@@ -513,7 +533,7 @@ var ControlledOrganizationAutocomplete = (_a) => {
513
533
  {
514
534
  name,
515
535
  defaultValue,
516
- rules: {
536
+ rules: __spreadValues({
517
537
  deps,
518
538
  onBlur,
519
539
  onChange,
@@ -522,19 +542,19 @@ var ControlledOrganizationAutocomplete = (_a) => {
522
542
  shouldUnregister,
523
543
  validate,
524
544
  value
525
- },
545
+ }, rules),
526
546
  shouldUnregister,
527
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 }, fieldState: { error } }) => /* @__PURE__ */ jsx8(
547
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ jsx8(
528
548
  OrganizationAutocomplete,
529
549
  __spreadProps(__spreadValues({}, rest), {
530
550
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
531
- required: typeof required === "object" ? required.value : !!required,
532
551
  error: !!error,
533
552
  helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs5(Fragment5, { children: [
534
553
  error.message,
535
554
  /* @__PURE__ */ jsx8("br", {}),
536
555
  FieldProps == null ? void 0 : FieldProps.helperText
537
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
556
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
557
+ inputRef: ref
538
558
  }),
539
559
  onChange: (event, value3, reason) => {
540
560
  if (reason === "clear") {
@@ -567,6 +587,7 @@ var ControlledProviderAutocomplete = (_a) => {
567
587
  onChange,
568
588
  pattern,
569
589
  required,
590
+ rules = {},
570
591
  shouldUnregister,
571
592
  validate,
572
593
  value,
@@ -583,6 +604,7 @@ var ControlledProviderAutocomplete = (_a) => {
583
604
  "onChange",
584
605
  "pattern",
585
606
  "required",
607
+ "rules",
586
608
  "shouldUnregister",
587
609
  "validate",
588
610
  "value",
@@ -593,7 +615,7 @@ var ControlledProviderAutocomplete = (_a) => {
593
615
  {
594
616
  name,
595
617
  defaultValue,
596
- rules: {
618
+ rules: __spreadValues({
597
619
  deps,
598
620
  max,
599
621
  maxLength,
@@ -606,13 +628,12 @@ var ControlledProviderAutocomplete = (_a) => {
606
628
  shouldUnregister,
607
629
  validate,
608
630
  value
609
- },
631
+ }, rules),
610
632
  shouldUnregister,
611
633
  render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 }, fieldState: { error } }) => /* @__PURE__ */ jsx9(
612
634
  ProviderAutocomplete,
613
635
  __spreadProps(__spreadValues({}, rest), {
614
636
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
615
- required: typeof required === "object" ? required.value : !!required,
616
637
  error: !!error,
617
638
  helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs6(Fragment6, { children: [
618
639
  error.message,
@@ -649,6 +670,7 @@ var ControlledRadioGroup = (_a) => {
649
670
  onBlur,
650
671
  onChange,
651
672
  required,
673
+ rules = {},
652
674
  shouldUnregister,
653
675
  value
654
676
  } = _b, rest = __objRest(_b, [
@@ -660,6 +682,7 @@ var ControlledRadioGroup = (_a) => {
660
682
  "onBlur",
661
683
  "onChange",
662
684
  "required",
685
+ "rules",
663
686
  "shouldUnregister",
664
687
  "value"
665
688
  ]);
@@ -668,17 +691,20 @@ var ControlledRadioGroup = (_a) => {
668
691
  {
669
692
  name,
670
693
  defaultValue,
671
- rules: { deps, onBlur, onChange, required, shouldUnregister, value },
694
+ rules: __spreadValues({ deps, onBlur, onChange, required: typeof required === "boolean" ? void 0 : required, shouldUnregister, value }, rules),
672
695
  shouldUnregister,
673
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsxs7(FormControl, { error: !!error, children: [
674
- /* @__PURE__ */ jsx10(FormLabel, { required: typeof required === "object" ? required.value : !!required, children: label }),
675
- /* @__PURE__ */ jsx10(RadioGroup, __spreadValues(__spreadValues({}, field), rest)),
676
- /* @__PURE__ */ jsx10(FormHelperText, { children: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs7(Fragment7, { children: [
677
- error.message,
678
- /* @__PURE__ */ jsx10("br", {}),
679
- helperText
680
- ] }) : helperText })
681
- ] })
696
+ render: (_a2) => {
697
+ var _b2 = _a2, { field: _c } = _b2, _d = _c, { disabled } = _d, field = __objRest(_d, ["disabled"]), { fieldState: { error } } = _b2;
698
+ return /* @__PURE__ */ jsxs7(FormControl, { error: !!error, disabled, required: !!required, children: [
699
+ /* @__PURE__ */ jsx10(FormLabel, { children: label }),
700
+ /* @__PURE__ */ jsx10(RadioGroup, __spreadValues(__spreadValues({}, field), rest)),
701
+ /* @__PURE__ */ jsx10(FormHelperText, { children: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs7(Fragment7, { children: [
702
+ error.message,
703
+ /* @__PURE__ */ jsx10("br", {}),
704
+ helperText
705
+ ] }) : helperText })
706
+ ] });
707
+ }
682
708
  }
683
709
  );
684
710
  };
@@ -690,36 +716,38 @@ import { jsx as jsx11 } from "react/jsx-runtime";
690
716
  var ControlledSelect = (_a) => {
691
717
  var _b = _a, {
692
718
  name,
693
- required,
694
- maxLength,
695
- minLength,
719
+ defaultValue,
720
+ deps,
721
+ disabled,
696
722
  max,
723
+ maxLength,
697
724
  min,
698
- pattern,
699
- validate,
700
- disabled,
701
- onChange,
725
+ minLength,
702
726
  onBlur,
703
- value,
704
- defaultValue,
727
+ onChange,
728
+ pattern,
729
+ required,
730
+ rules = {},
705
731
  shouldUnregister,
706
- deps
732
+ validate,
733
+ value
707
734
  } = _b, rest = __objRest(_b, [
708
735
  "name",
709
- "required",
710
- "maxLength",
711
- "minLength",
736
+ "defaultValue",
737
+ "deps",
738
+ "disabled",
712
739
  "max",
740
+ "maxLength",
713
741
  "min",
714
- "pattern",
715
- "validate",
716
- "disabled",
717
- "onChange",
742
+ "minLength",
718
743
  "onBlur",
719
- "value",
720
- "defaultValue",
744
+ "onChange",
745
+ "pattern",
746
+ "required",
747
+ "rules",
721
748
  "shouldUnregister",
722
- "deps"
749
+ "validate",
750
+ "value"
723
751
  ]);
724
752
  return /* @__PURE__ */ jsx11(
725
753
  Controller10,
@@ -727,8 +755,8 @@ var ControlledSelect = (_a) => {
727
755
  name,
728
756
  defaultValue,
729
757
  disabled,
730
- rules: {
731
- required,
758
+ rules: __spreadValues({
759
+ required: typeof required === "boolean" ? void 0 : required,
732
760
  maxLength,
733
761
  minLength,
734
762
  max,
@@ -740,13 +768,13 @@ var ControlledSelect = (_a) => {
740
768
  value,
741
769
  shouldUnregister,
742
770
  deps
743
- },
771
+ }, rules),
744
772
  shouldUnregister,
745
773
  render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsx11(
746
774
  Select,
747
775
  __spreadProps(__spreadValues(__spreadValues({}, rest), field), {
748
776
  error: !!error,
749
- required: typeof required === "object" ? required.value : !!required
777
+ required: !!required
750
778
  })
751
779
  )
752
780
  }
@@ -760,38 +788,40 @@ import { Fragment as Fragment8, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-ru
760
788
  var ControlledTextField = (_a) => {
761
789
  var _b = _a, {
762
790
  name,
791
+ defaultValue,
792
+ deps,
793
+ disabled,
763
794
  helperText,
764
- required,
765
- maxLength,
766
- minLength,
767
795
  max,
796
+ maxLength,
768
797
  min,
769
- pattern,
770
- validate,
771
- disabled,
772
- defaultValue,
773
- onChange,
798
+ minLength,
774
799
  onBlur,
775
- value,
800
+ onChange,
801
+ pattern,
802
+ required,
803
+ rules = {},
776
804
  shouldUnregister,
777
- deps
805
+ validate,
806
+ value
778
807
  } = _b, rest = __objRest(_b, [
779
808
  "name",
809
+ "defaultValue",
810
+ "deps",
811
+ "disabled",
780
812
  "helperText",
781
- "required",
782
- "maxLength",
783
- "minLength",
784
813
  "max",
814
+ "maxLength",
785
815
  "min",
786
- "pattern",
787
- "validate",
788
- "disabled",
789
- "defaultValue",
790
- "onChange",
816
+ "minLength",
791
817
  "onBlur",
792
- "value",
818
+ "onChange",
819
+ "pattern",
820
+ "required",
821
+ "rules",
793
822
  "shouldUnregister",
794
- "deps"
823
+ "validate",
824
+ "value"
795
825
  ]);
796
826
  return /* @__PURE__ */ jsx12(
797
827
  Controller11,
@@ -799,8 +829,8 @@ var ControlledTextField = (_a) => {
799
829
  name,
800
830
  defaultValue,
801
831
  disabled,
802
- rules: {
803
- required,
832
+ rules: __spreadValues({
833
+ required: typeof required === "boolean" ? void 0 : required,
804
834
  maxLength,
805
835
  minLength,
806
836
  max,
@@ -812,23 +842,34 @@ var ControlledTextField = (_a) => {
812
842
  value,
813
843
  shouldUnregister,
814
844
  deps
815
- },
845
+ }, rules),
816
846
  shouldUnregister,
817
- render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsx12(
818
- TextField,
819
- __spreadProps(__spreadValues(__spreadValues({}, rest), field), {
820
- required: typeof required === "object" ? required.value : !!required,
821
- error: !!error,
822
- helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs8(Fragment8, { children: [
823
- error.message,
824
- /* @__PURE__ */ jsx12("br", {}),
825
- helperText
826
- ] }) : helperText
827
- })
828
- )
847
+ render: (_a2) => {
848
+ var _b2 = _a2, { field: _c } = _b2, _d = _c, { ref } = _d, field = __objRest(_d, ["ref"]), { fieldState: { error } } = _b2;
849
+ return /* @__PURE__ */ jsx12(
850
+ TextField,
851
+ __spreadProps(__spreadValues(__spreadValues({}, field), rest), {
852
+ inputRef: ref,
853
+ required: !!required,
854
+ error: !!error,
855
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ jsxs8(Fragment8, { children: [
856
+ error.message,
857
+ /* @__PURE__ */ jsx12("br", {}),
858
+ helperText
859
+ ] }) : helperText
860
+ })
861
+ );
862
+ }
829
863
  }
830
864
  );
831
865
  };
866
+
867
+ // src/index.ts
868
+ import {
869
+ FormProvider as FormProvider2,
870
+ useForm as useForm2,
871
+ useFormContext
872
+ } from "react-hook-form";
832
873
  export {
833
874
  ControlledAsyncAutocomplete,
834
875
  ControlledAutocomplete,
@@ -841,5 +882,8 @@ export {
841
882
  ControlledProviderAutocomplete,
842
883
  ControlledRadioGroup,
843
884
  ControlledSelect,
844
- ControlledTextField
885
+ ControlledTextField,
886
+ FormProvider2 as FormProvider,
887
+ useForm2 as useForm,
888
+ useFormContext
845
889
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@availity/mui-controlled-form",
3
- "version": "0.2.6",
4
- "description": "Availity MUI ControlledForm Component - part of the @availity/element design system",
3
+ "version": "0.3.1",
4
+ "description": "Availity MUI/react-hook-form controlled form components - part of the @availity/element design system",
5
5
  "keywords": [
6
6
  "react",
7
7
  "typescript",