@availity/mui-controlled-form 0.2.5 → 0.3.0

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 -34
  4. package/dist/index.d.ts +122 -34
  5. package/dist/index.js +263 -225
  6. package/dist/index.mjs +279 -240
  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 +23 -20
  12. package/src/lib/Autocomplete.stories.tsx +20 -33
  13. package/src/lib/Autocomplete.test.tsx +7 -37
  14. package/src/lib/Autocomplete.tsx +16 -15
  15. package/src/lib/Checkbox.stories.tsx +50 -43
  16. package/src/lib/Checkbox.test.tsx +14 -46
  17. package/src/lib/Checkbox.tsx +30 -15
  18. package/src/lib/CodesAutocomplete.stories.tsx +21 -35
  19. package/src/lib/CodesAutocomplete.test.tsx +20 -54
  20. package/src/lib/CodesAutocomplete.tsx +23 -20
  21. package/src/lib/ControlledForm.stories.tsx +1 -0
  22. package/src/lib/ControlledForm.tsx +8 -4
  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 -10
  26. package/src/lib/Input.stories.tsx +32 -33
  27. package/src/lib/Input.test.tsx +71 -7
  28. package/src/lib/Input.tsx +44 -24
  29. package/src/lib/OrganizationAutocomplete.stories.tsx +30 -35
  30. package/src/lib/OrganizationAutocomplete.test.tsx +23 -57
  31. package/src/lib/OrganizationAutocomplete.tsx +24 -23
  32. package/src/lib/ProviderAutocomplete.stories.tsx +20 -35
  33. package/src/lib/ProviderAutocomplete.test.tsx +29 -63
  34. package/src/lib/ProviderAutocomplete.tsx +22 -20
  35. package/src/lib/RadioGroup.stories.tsx +41 -36
  36. package/src/lib/RadioGroup.test.tsx +3 -35
  37. package/src/lib/RadioGroup.tsx +33 -25
  38. package/src/lib/Select.stories.tsx +78 -45
  39. package/src/lib/Select.test.tsx +8 -36
  40. package/src/lib/Select.tsx +44 -25
  41. package/src/lib/TextField.stories.tsx +26 -34
  42. package/src/lib/TextField.test.tsx +71 -5
  43. package/src/lib/TextField.tsx +55 -37
  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.js CHANGED
@@ -60,7 +60,10 @@ __export(src_exports, {
60
60
  ControlledProviderAutocomplete: () => ControlledProviderAutocomplete,
61
61
  ControlledRadioGroup: () => ControlledRadioGroup,
62
62
  ControlledSelect: () => ControlledSelect,
63
- ControlledTextField: () => ControlledTextField
63
+ ControlledTextField: () => ControlledTextField,
64
+ FormProvider: () => import_react_hook_form13.FormProvider,
65
+ useForm: () => import_react_hook_form13.useForm,
66
+ useFormContext: () => import_react_hook_form13.useFormContext
64
67
  });
65
68
  module.exports = __toCommonJS(src_exports);
66
69
 
@@ -80,6 +83,7 @@ var ControlledAsyncAutocomplete = (_a) => {
80
83
  onChange,
81
84
  pattern,
82
85
  required,
86
+ rules = {},
83
87
  shouldUnregister,
84
88
  validate,
85
89
  value,
@@ -95,21 +99,18 @@ var ControlledAsyncAutocomplete = (_a) => {
95
99
  "onChange",
96
100
  "pattern",
97
101
  "required",
102
+ "rules",
98
103
  "shouldUnregister",
99
104
  "validate",
100
105
  "value",
101
106
  "FieldProps"
102
107
  ]);
103
- var _a2;
104
- const { control, getFieldState } = (0, import_react_hook_form.useFormContext)();
105
- const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
106
108
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
107
109
  import_react_hook_form.Controller,
108
110
  {
109
111
  name,
110
- control,
111
112
  defaultValue: rest.defaultValue,
112
- rules: {
113
+ rules: __spreadValues({
113
114
  deps,
114
115
  max,
115
116
  maxLength,
@@ -122,19 +123,19 @@ var ControlledAsyncAutocomplete = (_a) => {
122
123
  shouldUnregister,
123
124
  validate,
124
125
  value
125
- },
126
+ }, rules),
126
127
  shouldUnregister,
127
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 } }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
128
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
128
129
  import_mui_autocomplete.AsyncAutocomplete,
129
130
  __spreadProps(__spreadValues({}, rest), {
130
131
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
131
- required: typeof required === "object" ? required.value : !!required,
132
- error: !!errorMessage,
133
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
134
- errorMessage,
132
+ error: !!error,
133
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
134
+ error.message,
135
135
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("br", {}),
136
136
  FieldProps == null ? void 0 : FieldProps.helperText
137
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
137
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
138
+ inputRef: ref
138
139
  }),
139
140
  onChange: (event, value3, reason) => {
140
141
  if (reason === "clear") {
@@ -159,6 +160,7 @@ var ControlledAutocomplete = (_a) => {
159
160
  name,
160
161
  FieldProps,
161
162
  defaultValue,
163
+ rules = {},
162
164
  deps,
163
165
  max,
164
166
  maxLength,
@@ -175,6 +177,7 @@ var ControlledAutocomplete = (_a) => {
175
177
  "name",
176
178
  "FieldProps",
177
179
  "defaultValue",
180
+ "rules",
178
181
  "deps",
179
182
  "max",
180
183
  "maxLength",
@@ -188,16 +191,12 @@ var ControlledAutocomplete = (_a) => {
188
191
  "validate",
189
192
  "value"
190
193
  ]);
191
- var _a2;
192
- const { control, getFieldState } = (0, import_react_hook_form2.useFormContext)();
193
- const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
194
194
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
195
195
  import_react_hook_form2.Controller,
196
196
  {
197
- control,
198
197
  name,
199
198
  defaultValue,
200
- rules: {
199
+ rules: __spreadValues({
201
200
  deps,
202
201
  max,
203
202
  maxLength,
@@ -210,19 +209,19 @@ var ControlledAutocomplete = (_a) => {
210
209
  shouldUnregister,
211
210
  validate,
212
211
  value
213
- },
212
+ }, rules),
214
213
  shouldUnregister,
215
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 } }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
214
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
216
215
  import_mui_autocomplete2.Autocomplete,
217
216
  __spreadProps(__spreadValues({}, rest), {
218
217
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
219
- required: typeof required === "object" ? required.value : !!required,
220
- error: !!errorMessage,
221
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
222
- errorMessage,
218
+ error: !!error,
219
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
220
+ error.message,
223
221
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("br", {}),
224
222
  FieldProps == null ? void 0 : FieldProps.helperText
225
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
223
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
224
+ inputRef: ref
226
225
  }),
227
226
  onChange: (event, value3, reason) => {
228
227
  if (reason === "clear") {
@@ -245,35 +244,44 @@ var import_jsx_runtime3 = require("react/jsx-runtime");
245
244
  var ControlledCheckbox = (_a) => {
246
245
  var _b = _a, {
247
246
  name,
248
- setValueAs,
249
247
  disabled,
250
248
  onChange,
251
249
  onBlur,
252
250
  value,
251
+ defaultValue = false,
252
+ rules = {},
253
253
  shouldUnregister,
254
- deps
254
+ deps,
255
+ validate
255
256
  } = _b, rest = __objRest(_b, [
256
257
  "name",
257
- "setValueAs",
258
258
  "disabled",
259
259
  "onChange",
260
260
  "onBlur",
261
261
  "value",
262
+ "defaultValue",
263
+ "rules",
262
264
  "shouldUnregister",
263
- "deps"
265
+ "deps",
266
+ "validate"
264
267
  ]);
265
- const { register } = (0, import_react_hook_form3.useFormContext)();
266
268
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
267
- import_mui_checkbox.Checkbox,
268
- __spreadValues(__spreadValues({}, rest), register(name, {
269
- setValueAs,
269
+ import_react_hook_form3.Controller,
270
+ {
271
+ name,
272
+ defaultValue,
270
273
  disabled,
271
- onChange,
272
- onBlur,
273
- value,
274
+ rules: __spreadValues({
275
+ onChange,
276
+ onBlur,
277
+ value,
278
+ shouldUnregister,
279
+ deps,
280
+ validate
281
+ }, rules),
274
282
  shouldUnregister,
275
- deps
276
- }))
283
+ render: ({ field }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_mui_checkbox.Checkbox, __spreadProps(__spreadValues(__spreadValues({}, rest), field), { checked: field.value, onChange: (e) => field.onChange(e.target.checked) }))
284
+ }
277
285
  );
278
286
  };
279
287
 
@@ -292,6 +300,7 @@ var ControlledCodesAutocomplete = (_a) => {
292
300
  onChange,
293
301
  pattern,
294
302
  required,
303
+ rules = {},
295
304
  shouldUnregister,
296
305
  validate,
297
306
  value,
@@ -306,21 +315,18 @@ var ControlledCodesAutocomplete = (_a) => {
306
315
  "onChange",
307
316
  "pattern",
308
317
  "required",
318
+ "rules",
309
319
  "shouldUnregister",
310
320
  "validate",
311
321
  "value",
312
322
  "FieldProps"
313
323
  ]);
314
- var _a2;
315
- const { control, getFieldState } = (0, import_react_hook_form4.useFormContext)();
316
- const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
317
324
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
318
325
  import_react_hook_form4.Controller,
319
326
  {
320
327
  name,
321
- control,
322
328
  defaultValue,
323
- rules: {
329
+ rules: __spreadValues({
324
330
  deps,
325
331
  max,
326
332
  maxLength,
@@ -331,19 +337,19 @@ var ControlledCodesAutocomplete = (_a) => {
331
337
  shouldUnregister,
332
338
  validate,
333
339
  value
334
- },
340
+ }, rules),
335
341
  shouldUnregister,
336
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 } }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
342
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
337
343
  import_mui_autocomplete3.CodesAutocomplete,
338
344
  __spreadProps(__spreadValues({}, rest), {
339
345
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
340
- required: typeof required === "object" ? required.value : !!required,
341
- error: !!errorMessage,
342
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
343
- errorMessage,
346
+ error: !!error,
347
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
348
+ error.message,
344
349
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("br", {}),
345
350
  FieldProps == null ? void 0 : FieldProps.helperText
346
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
351
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
352
+ inputRef: ref
347
353
  }),
348
354
  onChange: (event, value3, reason) => {
349
355
  if (reason === "clear") {
@@ -363,13 +369,13 @@ var ControlledCodesAutocomplete = (_a) => {
363
369
  var import_react_hook_form5 = require("react-hook-form");
364
370
  var import_jsx_runtime5 = require("react/jsx-runtime");
365
371
  var ControlledForm = (_a) => {
366
- var _b = _a, { onSubmit, values, schema, validationResolver } = _b, rest = __objRest(_b, ["onSubmit", "values", "schema", "validationResolver"]);
367
- const useFormOptions = { values };
372
+ var _b = _a, { onSubmit, values, schema, validationResolver, additionalUseFormOptions = { mode: "onBlur" } } = _b, rest = __objRest(_b, ["onSubmit", "values", "schema", "validationResolver", "additionalUseFormOptions"]);
373
+ const useFormOptions = __spreadValues({ values }, additionalUseFormOptions);
368
374
  if (schema && validationResolver) {
369
375
  useFormOptions.resolver = validationResolver(schema);
370
376
  }
371
377
  const methods = (0, import_react_hook_form5.useForm)(useFormOptions);
372
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_hook_form5.FormProvider, __spreadProps(__spreadValues({}, methods), { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("form", __spreadValues({ onSubmit: methods.handleSubmit(onSubmit) }, rest)) }));
378
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_hook_form5.FormProvider, __spreadProps(__spreadValues({}, methods), { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("form", __spreadValues({ onSubmit: methods.handleSubmit(onSubmit), noValidate: true }, rest)) }));
373
379
  };
374
380
 
375
381
  // src/lib/Datepicker.tsx
@@ -389,6 +395,7 @@ var ControlledDatepicker = (_a) => {
389
395
  onChange,
390
396
  pattern,
391
397
  required,
398
+ rules = {},
392
399
  shouldUnregister,
393
400
  validate,
394
401
  value,
@@ -405,19 +412,18 @@ var ControlledDatepicker = (_a) => {
405
412
  "onChange",
406
413
  "pattern",
407
414
  "required",
415
+ "rules",
408
416
  "shouldUnregister",
409
417
  "validate",
410
418
  "value",
411
419
  "FieldProps"
412
420
  ]);
413
- const { control } = (0, import_react_hook_form6.useFormContext)();
414
421
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
415
422
  import_react_hook_form6.Controller,
416
423
  {
417
424
  name,
418
- control,
419
425
  defaultValue,
420
- rules: {
426
+ rules: __spreadValues({
421
427
  deps,
422
428
  max,
423
429
  maxLength,
@@ -430,19 +436,22 @@ var ControlledDatepicker = (_a) => {
430
436
  shouldUnregister,
431
437
  validate,
432
438
  value
433
- },
439
+ }, rules),
434
440
  shouldUnregister,
435
- render: ({ field: { onChange: onChange2, value: value2 }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
441
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
436
442
  import_mui_datepicker.Datepicker,
437
443
  __spreadProps(__spreadValues({}, rest), {
438
444
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
439
- required: typeof required === "object" ? required.value : !!required,
440
445
  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,
446
+ helperText: error ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
447
+ error.message,
443
448
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("br", {}),
444
449
  FieldProps == null ? void 0 : FieldProps.helperText
445
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
450
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
451
+ inputRef: ref,
452
+ inputProps: {
453
+ onBlur: onBlur2
454
+ }
446
455
  }),
447
456
  onChange: onChange2,
448
457
  value: value2 || null
@@ -459,59 +468,68 @@ var import_jsx_runtime7 = require("react/jsx-runtime");
459
468
  var ControlledInput = (_a) => {
460
469
  var _b = _a, {
461
470
  name,
462
- required,
463
- maxLength,
464
- minLength,
471
+ defaultValue,
472
+ deps,
473
+ disabled,
465
474
  max,
475
+ maxLength,
466
476
  min,
467
- pattern,
468
- validate,
469
- setValueAs,
470
- disabled,
471
- onChange,
477
+ minLength,
472
478
  onBlur,
473
- value,
479
+ onChange,
480
+ pattern,
481
+ required,
482
+ rules = {},
474
483
  shouldUnregister,
475
- deps
484
+ validate,
485
+ value
476
486
  } = _b, rest = __objRest(_b, [
477
487
  "name",
478
- "required",
479
- "maxLength",
480
- "minLength",
488
+ "defaultValue",
489
+ "deps",
490
+ "disabled",
481
491
  "max",
492
+ "maxLength",
482
493
  "min",
483
- "pattern",
484
- "validate",
485
- "setValueAs",
486
- "disabled",
487
- "onChange",
494
+ "minLength",
488
495
  "onBlur",
489
- "value",
496
+ "onChange",
497
+ "pattern",
498
+ "required",
499
+ "rules",
490
500
  "shouldUnregister",
491
- "deps"
501
+ "validate",
502
+ "value"
492
503
  ]);
493
- const { register, getFieldState } = (0, import_react_hook_form7.useFormContext)();
494
504
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
495
- import_mui_form_utils.Input,
496
- __spreadValues(__spreadProps(__spreadValues({}, rest), {
497
- error: !!getFieldState(name).error,
498
- required: typeof required === "object" ? required.value : !!required
499
- }), register(name, {
500
- required,
501
- maxLength,
502
- minLength,
503
- max,
504
- min,
505
- pattern,
506
- validate,
507
- setValueAs,
505
+ import_react_hook_form7.Controller,
506
+ {
507
+ name,
508
+ defaultValue,
508
509
  disabled,
509
- onChange,
510
- onBlur,
511
- value,
510
+ rules: __spreadValues({
511
+ required: typeof required === "boolean" ? void 0 : required,
512
+ maxLength,
513
+ minLength,
514
+ max,
515
+ min,
516
+ pattern,
517
+ validate,
518
+ onChange,
519
+ onBlur,
520
+ value,
521
+ shouldUnregister,
522
+ deps
523
+ }, rules),
512
524
  shouldUnregister,
513
- deps
514
- }))
525
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
526
+ import_mui_form_utils.Input,
527
+ __spreadProps(__spreadValues(__spreadValues({}, rest), field), {
528
+ error: !!error,
529
+ required: !!required
530
+ })
531
+ )
532
+ }
515
533
  );
516
534
  };
517
535
 
@@ -528,6 +546,7 @@ var ControlledOrganizationAutocomplete = (_a) => {
528
546
  onChange,
529
547
  pattern,
530
548
  required,
549
+ rules = {},
531
550
  shouldUnregister,
532
551
  validate,
533
552
  value,
@@ -540,21 +559,18 @@ var ControlledOrganizationAutocomplete = (_a) => {
540
559
  "onChange",
541
560
  "pattern",
542
561
  "required",
562
+ "rules",
543
563
  "shouldUnregister",
544
564
  "validate",
545
565
  "value",
546
566
  "FieldProps"
547
567
  ]);
548
- var _a2;
549
- const { control, getFieldState } = (0, import_react_hook_form8.useFormContext)();
550
- const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
551
568
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
552
569
  import_react_hook_form8.Controller,
553
570
  {
554
571
  name,
555
- control,
556
572
  defaultValue,
557
- rules: {
573
+ rules: __spreadValues({
558
574
  deps,
559
575
  onBlur,
560
576
  onChange,
@@ -563,19 +579,19 @@ var ControlledOrganizationAutocomplete = (_a) => {
563
579
  shouldUnregister,
564
580
  validate,
565
581
  value
566
- },
582
+ }, rules),
567
583
  shouldUnregister,
568
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 } }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
584
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2, ref }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
569
585
  import_mui_autocomplete4.OrganizationAutocomplete,
570
586
  __spreadProps(__spreadValues({}, rest), {
571
587
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
572
- required: typeof required === "object" ? required.value : !!required,
573
- error: !!errorMessage,
574
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
575
- errorMessage,
588
+ error: !!error,
589
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
590
+ error.message,
576
591
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("br", {}),
577
592
  FieldProps == null ? void 0 : FieldProps.helperText
578
- ] }) : FieldProps == null ? void 0 : FieldProps.helperText
593
+ ] }) : FieldProps == null ? void 0 : FieldProps.helperText,
594
+ inputRef: ref
579
595
  }),
580
596
  onChange: (event, value3, reason) => {
581
597
  if (reason === "clear") {
@@ -608,6 +624,7 @@ var ControlledProviderAutocomplete = (_a) => {
608
624
  onChange,
609
625
  pattern,
610
626
  required,
627
+ rules = {},
611
628
  shouldUnregister,
612
629
  validate,
613
630
  value,
@@ -624,21 +641,18 @@ var ControlledProviderAutocomplete = (_a) => {
624
641
  "onChange",
625
642
  "pattern",
626
643
  "required",
644
+ "rules",
627
645
  "shouldUnregister",
628
646
  "validate",
629
647
  "value",
630
648
  "FieldProps"
631
649
  ]);
632
- var _a2;
633
- const { control, getFieldState } = (0, import_react_hook_form9.useFormContext)();
634
- const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
635
650
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
636
651
  import_react_hook_form9.Controller,
637
652
  {
638
653
  name,
639
- control,
640
654
  defaultValue,
641
- rules: {
655
+ rules: __spreadValues({
642
656
  deps,
643
657
  max,
644
658
  maxLength,
@@ -651,16 +665,15 @@ var ControlledProviderAutocomplete = (_a) => {
651
665
  shouldUnregister,
652
666
  validate,
653
667
  value
654
- },
668
+ }, rules),
655
669
  shouldUnregister,
656
- render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 } }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
670
+ render: ({ field: { onChange: onChange2, value: value2, onBlur: onBlur2 }, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
657
671
  import_mui_autocomplete5.ProviderAutocomplete,
658
672
  __spreadProps(__spreadValues({}, rest), {
659
673
  FieldProps: __spreadProps(__spreadValues({}, FieldProps), {
660
- required: typeof required === "object" ? required.value : !!required,
661
- error: !!errorMessage,
662
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
663
- errorMessage,
674
+ error: !!error,
675
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
676
+ error.message,
664
677
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("br", {}),
665
678
  FieldProps == null ? void 0 : FieldProps.helperText
666
679
  ] }) : FieldProps == null ? void 0 : FieldProps.helperText
@@ -694,6 +707,7 @@ var ControlledRadioGroup = (_a) => {
694
707
  onBlur,
695
708
  onChange,
696
709
  required,
710
+ rules = {},
697
711
  shouldUnregister,
698
712
  value
699
713
  } = _b, rest = __objRest(_b, [
@@ -705,29 +719,29 @@ var ControlledRadioGroup = (_a) => {
705
719
  "onBlur",
706
720
  "onChange",
707
721
  "required",
722
+ "rules",
708
723
  "shouldUnregister",
709
724
  "value"
710
725
  ]);
711
- var _a2;
712
- const { control, getFieldState } = (0, import_react_hook_form10.useFormContext)();
713
- const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
714
726
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
715
727
  import_react_hook_form10.Controller,
716
728
  {
717
- control,
718
729
  name,
719
730
  defaultValue,
720
- rules: { deps, onBlur, onChange, required, shouldUnregister, value },
731
+ rules: __spreadValues({ deps, onBlur, onChange, required: typeof required === "boolean" ? void 0 : required, shouldUnregister, value }, rules),
721
732
  shouldUnregister,
722
- render: ({ field }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_mui_form_utils3.FormControl, { error: !!errorMessage, children: [
723
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils3.FormLabel, { required: typeof required === "object" ? required.value : !!required, children: label }),
724
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils2.RadioGroup, __spreadValues(__spreadValues({}, field), rest)),
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: [
726
- errorMessage,
727
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("br", {}),
728
- helperText
729
- ] }) : helperText })
730
- ] })
733
+ render: (_a2) => {
734
+ var _b2 = _a2, { field: _c } = _b2, _d = _c, { disabled } = _d, field = __objRest(_d, ["disabled"]), { fieldState: { error } } = _b2;
735
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_mui_form_utils3.FormControl, { error: !!error, disabled, required: !!required, children: [
736
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils3.FormLabel, { children: label }),
737
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils2.RadioGroup, __spreadValues(__spreadValues({}, field), rest)),
738
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_mui_form_utils3.FormHelperText, { children: (error == null ? void 0 : error.message) ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
739
+ error.message,
740
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("br", {}),
741
+ helperText
742
+ ] }) : helperText })
743
+ ] });
744
+ }
731
745
  }
732
746
  );
733
747
  };
@@ -739,59 +753,68 @@ var import_jsx_runtime11 = require("react/jsx-runtime");
739
753
  var ControlledSelect = (_a) => {
740
754
  var _b = _a, {
741
755
  name,
742
- required,
743
- maxLength,
744
- minLength,
756
+ defaultValue,
757
+ deps,
758
+ disabled,
745
759
  max,
760
+ maxLength,
746
761
  min,
747
- pattern,
748
- validate,
749
- setValueAs,
750
- disabled,
751
- onChange,
762
+ minLength,
752
763
  onBlur,
753
- value,
764
+ onChange,
765
+ pattern,
766
+ required,
767
+ rules = {},
754
768
  shouldUnregister,
755
- deps
769
+ validate,
770
+ value
756
771
  } = _b, rest = __objRest(_b, [
757
772
  "name",
758
- "required",
759
- "maxLength",
760
- "minLength",
773
+ "defaultValue",
774
+ "deps",
775
+ "disabled",
761
776
  "max",
777
+ "maxLength",
762
778
  "min",
763
- "pattern",
764
- "validate",
765
- "setValueAs",
766
- "disabled",
767
- "onChange",
779
+ "minLength",
768
780
  "onBlur",
769
- "value",
781
+ "onChange",
782
+ "pattern",
783
+ "required",
784
+ "rules",
770
785
  "shouldUnregister",
771
- "deps"
786
+ "validate",
787
+ "value"
772
788
  ]);
773
- const { register, getFieldState } = (0, import_react_hook_form11.useFormContext)();
774
789
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
775
- import_mui_form_utils4.Select,
776
- __spreadValues(__spreadProps(__spreadValues({}, rest), {
777
- error: !!getFieldState(name).error,
778
- required: typeof required === "object" ? required.value : !!required
779
- }), register(name, {
780
- required,
781
- maxLength,
782
- minLength,
783
- max,
784
- min,
785
- pattern,
786
- validate,
787
- setValueAs,
790
+ import_react_hook_form11.Controller,
791
+ {
792
+ name,
793
+ defaultValue,
788
794
  disabled,
789
- onChange,
790
- onBlur,
791
- value,
795
+ rules: __spreadValues({
796
+ required: typeof required === "boolean" ? void 0 : required,
797
+ maxLength,
798
+ minLength,
799
+ max,
800
+ min,
801
+ pattern,
802
+ validate,
803
+ onChange,
804
+ onBlur,
805
+ value,
806
+ shouldUnregister,
807
+ deps
808
+ }, rules),
792
809
  shouldUnregister,
793
- deps
794
- }))
810
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
811
+ import_mui_form_utils4.Select,
812
+ __spreadProps(__spreadValues(__spreadValues({}, rest), field), {
813
+ error: !!error,
814
+ required: !!required
815
+ })
816
+ )
817
+ }
795
818
  );
796
819
  };
797
820
 
@@ -802,71 +825,83 @@ var import_jsx_runtime12 = require("react/jsx-runtime");
802
825
  var ControlledTextField = (_a) => {
803
826
  var _b = _a, {
804
827
  name,
828
+ defaultValue,
829
+ deps,
830
+ disabled,
805
831
  helperText,
806
- required,
807
- maxLength,
808
- minLength,
809
832
  max,
833
+ maxLength,
810
834
  min,
811
- pattern,
812
- validate,
813
- setValueAs,
814
- disabled,
815
- onChange,
835
+ minLength,
816
836
  onBlur,
817
- value,
837
+ onChange,
838
+ pattern,
839
+ required,
840
+ rules = {},
818
841
  shouldUnregister,
819
- deps
842
+ validate,
843
+ value
820
844
  } = _b, rest = __objRest(_b, [
821
845
  "name",
846
+ "defaultValue",
847
+ "deps",
848
+ "disabled",
822
849
  "helperText",
823
- "required",
824
- "maxLength",
825
- "minLength",
826
850
  "max",
851
+ "maxLength",
827
852
  "min",
828
- "pattern",
829
- "validate",
830
- "setValueAs",
831
- "disabled",
832
- "onChange",
853
+ "minLength",
833
854
  "onBlur",
834
- "value",
855
+ "onChange",
856
+ "pattern",
857
+ "required",
858
+ "rules",
835
859
  "shouldUnregister",
836
- "deps"
860
+ "validate",
861
+ "value"
837
862
  ]);
838
- var _a2;
839
- const { register, getFieldState } = (0, import_react_hook_form12.useFormContext)();
840
- const errorMessage = (_a2 = getFieldState(name).error) == null ? void 0 : _a2.message;
841
863
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
842
- import_mui_textfield.TextField,
843
- __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, rest), {
844
- required: typeof required === "object" ? required.value : !!required
845
- }), register(name, {
846
- required,
847
- maxLength,
848
- minLength,
849
- max,
850
- min,
851
- pattern,
852
- validate,
853
- setValueAs,
864
+ import_react_hook_form12.Controller,
865
+ {
866
+ name,
867
+ defaultValue,
854
868
  disabled,
855
- onChange,
856
- onBlur,
857
- value,
869
+ rules: __spreadValues({
870
+ required: typeof required === "boolean" ? void 0 : required,
871
+ maxLength,
872
+ minLength,
873
+ max,
874
+ min,
875
+ pattern,
876
+ validate,
877
+ onChange,
878
+ onBlur,
879
+ value,
880
+ shouldUnregister,
881
+ deps
882
+ }, rules),
858
883
  shouldUnregister,
859
- deps
860
- })), {
861
- error: !!getFieldState(name).error,
862
- helperText: errorMessage && typeof errorMessage === "string" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
863
- errorMessage,
864
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("br", {}),
865
- helperText
866
- ] }) : helperText
867
- })
884
+ render: (_a2) => {
885
+ var _b2 = _a2, { field: _c } = _b2, _d = _c, { ref } = _d, field = __objRest(_d, ["ref"]), { fieldState: { error } } = _b2;
886
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
887
+ import_mui_textfield.TextField,
888
+ __spreadProps(__spreadValues(__spreadValues({}, field), rest), {
889
+ inputRef: ref,
890
+ error: !!error,
891
+ helperText: (error == null ? void 0 : error.message) ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
892
+ error.message,
893
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("br", {}),
894
+ helperText
895
+ ] }) : helperText
896
+ })
897
+ );
898
+ }
899
+ }
868
900
  );
869
901
  };
902
+
903
+ // src/index.ts
904
+ var import_react_hook_form13 = require("react-hook-form");
870
905
  // Annotate the CommonJS export names for ESM import in node:
871
906
  0 && (module.exports = {
872
907
  ControlledAsyncAutocomplete,
@@ -880,5 +915,8 @@ var ControlledTextField = (_a) => {
880
915
  ControlledProviderAutocomplete,
881
916
  ControlledRadioGroup,
882
917
  ControlledSelect,
883
- ControlledTextField
918
+ ControlledTextField,
919
+ FormProvider,
920
+ useForm,
921
+ useFormContext
884
922
  });