tp-react-elements-dev 1.10.3 → 1.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -37,13 +37,14 @@ var isWeb = typeof window !== 'undefined' &&
37
37
  function cloneObject(data) {
38
38
  let copy;
39
39
  const isArray = Array.isArray(data);
40
+ const isFileListInstance = typeof FileList !== 'undefined' ? data instanceof FileList : false;
40
41
  if (data instanceof Date) {
41
42
  copy = new Date(data);
42
43
  }
43
44
  else if (data instanceof Set) {
44
45
  copy = new Set(data);
45
46
  }
46
- else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&
47
+ else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&
47
48
  (isArray || isObject$1(data))) {
48
49
  copy = isArray ? [] : {};
49
50
  if (!isArray && !isPlainObject$1(data)) {
@@ -102,13 +103,12 @@ var set = (object, path, value) => {
102
103
  ? []
103
104
  : {};
104
105
  }
105
- if (key === '__proto__') {
106
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
106
107
  return;
107
108
  }
108
109
  object[key] = newValue;
109
110
  object = object[key];
110
111
  }
111
- return object;
112
112
  };
113
113
 
114
114
  const EVENTS = {
@@ -185,43 +185,6 @@ var getProxyFormState = (formState, control, localProxyFormState, isRoot = true)
185
185
  return result;
186
186
  };
187
187
 
188
- var isEmptyObject = (value) => isObject$1(value) && !Object.keys(value).length;
189
-
190
- var shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {
191
- updateFormState(formStateData);
192
- const { name, ...formState } = formStateData;
193
- return (isEmptyObject(formState) ||
194
- Object.keys(formState).length >= Object.keys(_proxyFormState).length ||
195
- Object.keys(formState).find((key) => _proxyFormState[key] ===
196
- (!isRoot || VALIDATION_MODE.all)));
197
- };
198
-
199
- var convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);
200
-
201
- var shouldSubscribeByName = (name, signalName, exact) => !name ||
202
- !signalName ||
203
- name === signalName ||
204
- convertToArrayPayload(name).some((currentName) => currentName &&
205
- (exact
206
- ? currentName === signalName
207
- : currentName.startsWith(signalName) ||
208
- signalName.startsWith(currentName)));
209
-
210
- function useSubscribe(props) {
211
- const _props = React__default.useRef(props);
212
- _props.current = props;
213
- React__default.useEffect(() => {
214
- const subscription = !props.disabled &&
215
- _props.current.subject &&
216
- _props.current.subject.subscribe({
217
- next: _props.current.next,
218
- });
219
- return () => {
220
- subscription && subscription.unsubscribe();
221
- };
222
- }, [props.disabled]);
223
- }
224
-
225
188
  /**
226
189
  * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.
227
190
  *
@@ -256,7 +219,6 @@ function useFormState(props) {
256
219
  const methods = useFormContext();
257
220
  const { control = methods.control, disabled, name, exact } = props || {};
258
221
  const [formState, updateFormState] = React__default.useState(control._formState);
259
- const _mounted = React__default.useRef(true);
260
222
  const _localProxyFormState = React__default.useRef({
261
223
  isDirty: false,
262
224
  isLoading: false,
@@ -269,25 +231,22 @@ function useFormState(props) {
269
231
  });
270
232
  const _name = React__default.useRef(name);
271
233
  _name.current = name;
272
- useSubscribe({
273
- disabled,
274
- next: (value) => _mounted.current &&
275
- shouldSubscribeByName(_name.current, value.name, exact) &&
276
- shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&
277
- updateFormState({
278
- ...control._formState,
279
- ...value,
280
- }),
281
- subject: control._subjects.state,
282
- });
234
+ React__default.useEffect(() => control._subscribe({
235
+ name: _name.current,
236
+ formState: _localProxyFormState.current,
237
+ exact,
238
+ callback: (formState) => {
239
+ !disabled &&
240
+ updateFormState({
241
+ ...control._formState,
242
+ ...formState,
243
+ });
244
+ },
245
+ }), [control, disabled, exact]);
283
246
  React__default.useEffect(() => {
284
- _mounted.current = true;
285
- _localProxyFormState.current.isValid && control._updateValid(true);
286
- return () => {
287
- _mounted.current = false;
288
- };
247
+ _localProxyFormState.current.isValid && control._setValid(true);
289
248
  }, [control]);
290
- return getProxyFormState(formState, control, _localProxyFormState.current, false);
249
+ return React__default.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
291
250
  }
292
251
 
293
252
  var isString = (value) => typeof value === 'string';
@@ -324,16 +283,17 @@ function useWatch(props) {
324
283
  const methods = useFormContext();
325
284
  const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};
326
285
  const _name = React__default.useRef(name);
286
+ const _defaultValue = React__default.useRef(defaultValue);
327
287
  _name.current = name;
328
- useSubscribe({
329
- disabled,
330
- subject: control._subjects.values,
331
- next: (formState) => {
332
- if (shouldSubscribeByName(_name.current, formState.name, exact)) {
333
- updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));
334
- }
288
+ React__default.useEffect(() => control._subscribe({
289
+ name: _name.current,
290
+ formState: {
291
+ values: true,
335
292
  },
336
- });
293
+ exact,
294
+ callback: (formState) => !disabled &&
295
+ updateValue(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, _defaultValue.current)),
296
+ }), [control, disabled, exact]);
337
297
  const [value, updateValue] = React__default.useState(control._getWatch(name, defaultValue));
338
298
  React__default.useEffect(() => control._removeUnmounted());
339
299
  return value;
@@ -376,17 +336,82 @@ function useController(props) {
376
336
  const formState = useFormState({
377
337
  control,
378
338
  name,
339
+ exact: true,
379
340
  });
341
+ const _props = React__default.useRef(props);
380
342
  const _registerProps = React__default.useRef(control.register(name, {
381
343
  ...props.rules,
382
344
  value,
383
345
  ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),
384
346
  }));
347
+ const fieldState = React__default.useMemo(() => Object.defineProperties({}, {
348
+ invalid: {
349
+ enumerable: true,
350
+ get: () => !!get(formState.errors, name),
351
+ },
352
+ isDirty: {
353
+ enumerable: true,
354
+ get: () => !!get(formState.dirtyFields, name),
355
+ },
356
+ isTouched: {
357
+ enumerable: true,
358
+ get: () => !!get(formState.touchedFields, name),
359
+ },
360
+ isValidating: {
361
+ enumerable: true,
362
+ get: () => !!get(formState.validatingFields, name),
363
+ },
364
+ error: {
365
+ enumerable: true,
366
+ get: () => get(formState.errors, name),
367
+ },
368
+ }), [formState, name]);
369
+ const onChange = React__default.useCallback((event) => _registerProps.current.onChange({
370
+ target: {
371
+ value: getEventValue(event),
372
+ name: name,
373
+ },
374
+ type: EVENTS.CHANGE,
375
+ }), [name]);
376
+ const onBlur = React__default.useCallback(() => _registerProps.current.onBlur({
377
+ target: {
378
+ value: get(control._formValues, name),
379
+ name: name,
380
+ },
381
+ type: EVENTS.BLUR,
382
+ }), [name, control._formValues]);
383
+ const ref = React__default.useCallback((elm) => {
384
+ const field = get(control._fields, name);
385
+ if (field && elm) {
386
+ field._f.ref = {
387
+ focus: () => elm.focus(),
388
+ select: () => elm.select(),
389
+ setCustomValidity: (message) => elm.setCustomValidity(message),
390
+ reportValidity: () => elm.reportValidity(),
391
+ };
392
+ }
393
+ }, [control._fields, name]);
394
+ const field = React__default.useMemo(() => ({
395
+ name,
396
+ value,
397
+ ...(isBoolean(disabled) || formState.disabled
398
+ ? { disabled: formState.disabled || disabled }
399
+ : {}),
400
+ onChange,
401
+ onBlur,
402
+ ref,
403
+ }), [name, disabled, formState.disabled, onChange, onBlur, ref, value]);
385
404
  React__default.useEffect(() => {
386
405
  const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
406
+ control.register(name, {
407
+ ..._props.current.rules,
408
+ ...(isBoolean(_props.current.disabled)
409
+ ? { disabled: _props.current.disabled }
410
+ : {}),
411
+ });
387
412
  const updateMounted = (name, value) => {
388
413
  const field = get(control._fields, name);
389
- if (field) {
414
+ if (field && field._f) {
390
415
  field._f.mount = value;
391
416
  }
392
417
  };
@@ -398,6 +423,7 @@ function useController(props) {
398
423
  set(control._formValues, name, value);
399
424
  }
400
425
  }
426
+ !isArrayField && control.register(name);
401
427
  return () => {
402
428
  (isArrayField
403
429
  ? _shouldUnregisterField && !control._state.action
@@ -407,72 +433,16 @@ function useController(props) {
407
433
  };
408
434
  }, [name, control, isArrayField, shouldUnregister]);
409
435
  React__default.useEffect(() => {
410
- if (get(control._fields, name)) {
411
- control._updateDisabledField({
412
- disabled,
413
- fields: control._fields,
414
- name,
415
- value: get(control._fields, name)._f.value,
416
- });
417
- }
418
- }, [disabled, name, control]);
419
- return {
420
- field: {
436
+ control._setDisabledField({
437
+ disabled,
421
438
  name,
422
- value,
423
- ...(isBoolean(disabled) || formState.disabled
424
- ? { disabled: formState.disabled || disabled }
425
- : {}),
426
- onChange: React__default.useCallback((event) => _registerProps.current.onChange({
427
- target: {
428
- value: getEventValue(event),
429
- name: name,
430
- },
431
- type: EVENTS.CHANGE,
432
- }), [name]),
433
- onBlur: React__default.useCallback(() => _registerProps.current.onBlur({
434
- target: {
435
- value: get(control._formValues, name),
436
- name: name,
437
- },
438
- type: EVENTS.BLUR,
439
- }), [name, control]),
440
- ref: (elm) => {
441
- const field = get(control._fields, name);
442
- if (field && elm) {
443
- field._f.ref = {
444
- focus: () => elm.focus(),
445
- select: () => elm.select(),
446
- setCustomValidity: (message) => elm.setCustomValidity(message),
447
- reportValidity: () => elm.reportValidity(),
448
- };
449
- }
450
- },
451
- },
439
+ });
440
+ }, [disabled, name, control]);
441
+ return React__default.useMemo(() => ({
442
+ field,
452
443
  formState,
453
- fieldState: Object.defineProperties({}, {
454
- invalid: {
455
- enumerable: true,
456
- get: () => !!get(formState.errors, name),
457
- },
458
- isDirty: {
459
- enumerable: true,
460
- get: () => !!get(formState.dirtyFields, name),
461
- },
462
- isTouched: {
463
- enumerable: true,
464
- get: () => !!get(formState.touchedFields, name),
465
- },
466
- isValidating: {
467
- enumerable: true,
468
- get: () => !!get(formState.validatingFields, name),
469
- },
470
- error: {
471
- enumerable: true,
472
- get: () => get(formState.errors, name),
473
- },
474
- }),
475
- };
444
+ fieldState,
445
+ }), [field, formState, fieldState]);
476
446
  }
477
447
 
478
448
  /**
@@ -529,49 +499,70 @@ var appendErrors = (name, validateAllFieldCriteria, errors, type, message) => va
529
499
  }
530
500
  : {};
531
501
 
532
- var getValidationModes = (mode) => ({
533
- isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,
534
- isOnBlur: mode === VALIDATION_MODE.onBlur,
535
- isOnChange: mode === VALIDATION_MODE.onChange,
536
- isOnAll: mode === VALIDATION_MODE.all,
537
- isOnTouch: mode === VALIDATION_MODE.onTouched,
538
- });
502
+ var convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);
539
503
 
540
- var isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&
541
- (_names.watchAll ||
542
- _names.watch.has(name) ||
543
- [..._names.watch].some((watchName) => name.startsWith(watchName) &&
544
- /^\.\w+/.test(name.slice(watchName.length))));
504
+ var createSubject = () => {
505
+ let _observers = [];
506
+ const next = (value) => {
507
+ for (const observer of _observers) {
508
+ observer.next && observer.next(value);
509
+ }
510
+ };
511
+ const subscribe = (observer) => {
512
+ _observers.push(observer);
513
+ return {
514
+ unsubscribe: () => {
515
+ _observers = _observers.filter((o) => o !== observer);
516
+ },
517
+ };
518
+ };
519
+ const unsubscribe = () => {
520
+ _observers = [];
521
+ };
522
+ return {
523
+ get observers() {
524
+ return _observers;
525
+ },
526
+ next,
527
+ subscribe,
528
+ unsubscribe,
529
+ };
530
+ };
545
531
 
546
- const iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {
547
- for (const key of fieldsNames || Object.keys(fields)) {
548
- const field = get(fields, key);
549
- if (field) {
550
- const { _f, ...currentField } = field;
551
- if (_f) {
552
- if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {
553
- break;
554
- }
555
- else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {
556
- break;
557
- }
558
- else {
559
- iterateFieldsByAction(currentField, action);
560
- }
561
- }
562
- else if (isObject$1(currentField)) {
563
- iterateFieldsByAction(currentField, action);
532
+ var isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);
533
+
534
+ function deepEqual(object1, object2) {
535
+ if (isPrimitive(object1) || isPrimitive(object2)) {
536
+ return object1 === object2;
537
+ }
538
+ if (isDateObject(object1) && isDateObject(object2)) {
539
+ return object1.getTime() === object2.getTime();
540
+ }
541
+ const keys1 = Object.keys(object1);
542
+ const keys2 = Object.keys(object2);
543
+ if (keys1.length !== keys2.length) {
544
+ return false;
545
+ }
546
+ for (const key of keys1) {
547
+ const val1 = object1[key];
548
+ if (!keys2.includes(key)) {
549
+ return false;
550
+ }
551
+ if (key !== 'ref') {
552
+ const val2 = object2[key];
553
+ if ((isDateObject(val1) && isDateObject(val2)) ||
554
+ (isObject$1(val1) && isObject$1(val2)) ||
555
+ (Array.isArray(val1) && Array.isArray(val2))
556
+ ? !deepEqual(val1, val2)
557
+ : val1 !== val2) {
558
+ return false;
564
559
  }
565
560
  }
566
561
  }
567
- };
562
+ return true;
563
+ }
568
564
 
569
- var updateFieldArrayRootError = (errors, error, name) => {
570
- const fieldArrayErrors = compact(get(errors, name));
571
- set(fieldArrayErrors, 'root', error[name]);
572
- set(errors, name, fieldArrayErrors);
573
- return errors;
574
- };
565
+ var isEmptyObject = (value) => isObject$1(value) && !Object.keys(value).length;
575
566
 
576
567
  var isFileInput = (element) => element.type === 'file';
577
568
 
@@ -586,11 +577,99 @@ var isHTMLElement$2 = (value) => {
586
577
  (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));
587
578
  };
588
579
 
589
- var isMessage = (value) => isString(value);
580
+ var isMultipleSelect = (element) => element.type === `select-multiple`;
590
581
 
591
582
  var isRadioInput = (element) => element.type === 'radio';
592
583
 
593
- var isRegex = (value) => value instanceof RegExp;
584
+ var isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);
585
+
586
+ var live = (ref) => isHTMLElement$2(ref) && ref.isConnected;
587
+
588
+ function baseGet(object, updatePath) {
589
+ const length = updatePath.slice(0, -1).length;
590
+ let index = 0;
591
+ while (index < length) {
592
+ object = isUndefined(object) ? index++ : object[updatePath[index++]];
593
+ }
594
+ return object;
595
+ }
596
+ function isEmptyArray(obj) {
597
+ for (const key in obj) {
598
+ if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {
599
+ return false;
600
+ }
601
+ }
602
+ return true;
603
+ }
604
+ function unset(object, path) {
605
+ const paths = Array.isArray(path)
606
+ ? path
607
+ : isKey(path)
608
+ ? [path]
609
+ : stringToPath(path);
610
+ const childObject = paths.length === 1 ? object : baseGet(object, paths);
611
+ const index = paths.length - 1;
612
+ const key = paths[index];
613
+ if (childObject) {
614
+ delete childObject[key];
615
+ }
616
+ if (index !== 0 &&
617
+ ((isObject$1(childObject) && isEmptyObject(childObject)) ||
618
+ (Array.isArray(childObject) && isEmptyArray(childObject)))) {
619
+ unset(object, paths.slice(0, -1));
620
+ }
621
+ return object;
622
+ }
623
+
624
+ var objectHasFunction = (data) => {
625
+ for (const key in data) {
626
+ if (isFunction(data[key])) {
627
+ return true;
628
+ }
629
+ }
630
+ return false;
631
+ };
632
+
633
+ function markFieldsDirty(data, fields = {}) {
634
+ const isParentNodeArray = Array.isArray(data);
635
+ if (isObject$1(data) || isParentNodeArray) {
636
+ for (const key in data) {
637
+ if (Array.isArray(data[key]) ||
638
+ (isObject$1(data[key]) && !objectHasFunction(data[key]))) {
639
+ fields[key] = Array.isArray(data[key]) ? [] : {};
640
+ markFieldsDirty(data[key], fields[key]);
641
+ }
642
+ else if (!isNullOrUndefined(data[key])) {
643
+ fields[key] = true;
644
+ }
645
+ }
646
+ }
647
+ return fields;
648
+ }
649
+ function getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {
650
+ const isParentNodeArray = Array.isArray(data);
651
+ if (isObject$1(data) || isParentNodeArray) {
652
+ for (const key in data) {
653
+ if (Array.isArray(data[key]) ||
654
+ (isObject$1(data[key]) && !objectHasFunction(data[key]))) {
655
+ if (isUndefined(formValues) ||
656
+ isPrimitive(dirtyFieldsFromValues[key])) {
657
+ dirtyFieldsFromValues[key] = Array.isArray(data[key])
658
+ ? markFieldsDirty(data[key], [])
659
+ : { ...markFieldsDirty(data[key]) };
660
+ }
661
+ else {
662
+ getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
663
+ }
664
+ }
665
+ else {
666
+ dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);
667
+ }
668
+ }
669
+ }
670
+ return dirtyFieldsFromValues;
671
+ }
672
+ var getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));
594
673
 
595
674
  const defaultResult = {
596
675
  value: false,
@@ -617,6 +696,20 @@ var getCheckboxValue = (options) => {
617
696
  return defaultResult;
618
697
  };
619
698
 
699
+ var getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)
700
+ ? value
701
+ : valueAsNumber
702
+ ? value === ''
703
+ ? NaN
704
+ : value
705
+ ? +value
706
+ : value
707
+ : valueAsDate && isString(value)
708
+ ? new Date(value)
709
+ : setValueAs
710
+ ? setValueAs(value)
711
+ : value;
712
+
620
713
  const defaultReturn = {
621
714
  isValid: false,
622
715
  value: null,
@@ -630,6 +723,182 @@ var getRadioValue = (options) => Array.isArray(options)
630
723
  : previous, defaultReturn)
631
724
  : defaultReturn;
632
725
 
726
+ function getFieldValue(_f) {
727
+ const ref = _f.ref;
728
+ if (isFileInput(ref)) {
729
+ return ref.files;
730
+ }
731
+ if (isRadioInput(ref)) {
732
+ return getRadioValue(_f.refs).value;
733
+ }
734
+ if (isMultipleSelect(ref)) {
735
+ return [...ref.selectedOptions].map(({ value }) => value);
736
+ }
737
+ if (isCheckBoxInput(ref)) {
738
+ return getCheckboxValue(_f.refs).value;
739
+ }
740
+ return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);
741
+ }
742
+
743
+ var getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {
744
+ const fields = {};
745
+ for (const name of fieldsNames) {
746
+ const field = get(_fields, name);
747
+ field && set(fields, name, field._f);
748
+ }
749
+ return {
750
+ criteriaMode,
751
+ names: [...fieldsNames],
752
+ fields,
753
+ shouldUseNativeValidation,
754
+ };
755
+ };
756
+
757
+ var isRegex = (value) => value instanceof RegExp;
758
+
759
+ var getRuleValue = (rule) => isUndefined(rule)
760
+ ? rule
761
+ : isRegex(rule)
762
+ ? rule.source
763
+ : isObject$1(rule)
764
+ ? isRegex(rule.value)
765
+ ? rule.value.source
766
+ : rule.value
767
+ : rule;
768
+
769
+ var getValidationModes = (mode) => ({
770
+ isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,
771
+ isOnBlur: mode === VALIDATION_MODE.onBlur,
772
+ isOnChange: mode === VALIDATION_MODE.onChange,
773
+ isOnAll: mode === VALIDATION_MODE.all,
774
+ isOnTouch: mode === VALIDATION_MODE.onTouched,
775
+ });
776
+
777
+ const ASYNC_FUNCTION = 'AsyncFunction';
778
+ var hasPromiseValidation = (fieldReference) => !!fieldReference &&
779
+ !!fieldReference.validate &&
780
+ !!((isFunction(fieldReference.validate) &&
781
+ fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||
782
+ (isObject$1(fieldReference.validate) &&
783
+ Object.values(fieldReference.validate).find((validateFunction) => validateFunction.constructor.name === ASYNC_FUNCTION)));
784
+
785
+ var hasValidation = (options) => options.mount &&
786
+ (options.required ||
787
+ options.min ||
788
+ options.max ||
789
+ options.maxLength ||
790
+ options.minLength ||
791
+ options.pattern ||
792
+ options.validate);
793
+
794
+ var isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&
795
+ (_names.watchAll ||
796
+ _names.watch.has(name) ||
797
+ [..._names.watch].some((watchName) => name.startsWith(watchName) &&
798
+ /^\.\w+/.test(name.slice(watchName.length))));
799
+
800
+ const iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {
801
+ for (const key of fieldsNames || Object.keys(fields)) {
802
+ const field = get(fields, key);
803
+ if (field) {
804
+ const { _f, ...currentField } = field;
805
+ if (_f) {
806
+ if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {
807
+ return true;
808
+ }
809
+ else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {
810
+ return true;
811
+ }
812
+ else {
813
+ if (iterateFieldsByAction(currentField, action)) {
814
+ break;
815
+ }
816
+ }
817
+ }
818
+ else if (isObject$1(currentField)) {
819
+ if (iterateFieldsByAction(currentField, action)) {
820
+ break;
821
+ }
822
+ }
823
+ }
824
+ }
825
+ return;
826
+ };
827
+
828
+ function schemaErrorLookup(errors, _fields, name) {
829
+ const error = get(errors, name);
830
+ if (error || isKey(name)) {
831
+ return {
832
+ error,
833
+ name,
834
+ };
835
+ }
836
+ const names = name.split('.');
837
+ while (names.length) {
838
+ const fieldName = names.join('.');
839
+ const field = get(_fields, fieldName);
840
+ const foundError = get(errors, fieldName);
841
+ if (field && !Array.isArray(field) && name !== fieldName) {
842
+ return { name };
843
+ }
844
+ if (foundError && foundError.type) {
845
+ return {
846
+ name: fieldName,
847
+ error: foundError,
848
+ };
849
+ }
850
+ names.pop();
851
+ }
852
+ return {
853
+ name,
854
+ };
855
+ }
856
+
857
+ var shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {
858
+ updateFormState(formStateData);
859
+ const { name, ...formState } = formStateData;
860
+ return (isEmptyObject(formState) ||
861
+ Object.keys(formState).length >= Object.keys(_proxyFormState).length ||
862
+ Object.keys(formState).find((key) => _proxyFormState[key] ===
863
+ (!isRoot || VALIDATION_MODE.all)));
864
+ };
865
+
866
+ var shouldSubscribeByName = (name, signalName, exact) => !name ||
867
+ !signalName ||
868
+ name === signalName ||
869
+ convertToArrayPayload(name).some((currentName) => currentName &&
870
+ (exact
871
+ ? currentName === signalName
872
+ : currentName.startsWith(signalName) ||
873
+ signalName.startsWith(currentName)));
874
+
875
+ var skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {
876
+ if (mode.isOnAll) {
877
+ return false;
878
+ }
879
+ else if (!isSubmitted && mode.isOnTouch) {
880
+ return !(isTouched || isBlurEvent);
881
+ }
882
+ else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {
883
+ return !isBlurEvent;
884
+ }
885
+ else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {
886
+ return isBlurEvent;
887
+ }
888
+ return true;
889
+ };
890
+
891
+ var unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);
892
+
893
+ var updateFieldArrayRootError = (errors, error, name) => {
894
+ const fieldArrayErrors = convertToArrayPayload(get(errors, name));
895
+ set(fieldArrayErrors, 'root', error[name]);
896
+ set(errors, name, fieldArrayErrors);
897
+ return errors;
898
+ };
899
+
900
+ var isMessage = (value) => isString(value);
901
+
633
902
  function getValidateError(result, ref, type = 'validate') {
634
903
  if (isMessage(result) ||
635
904
  (Array.isArray(result) && result.every(isMessage)) ||
@@ -649,10 +918,10 @@ var getValueAndMessage = (validationData) => isObject$1(validationData) && !isRe
649
918
  message: '',
650
919
  };
651
920
 
652
- var validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {
653
- const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;
921
+ var validateField = async (field, disabledFieldNames, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {
922
+ const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, } = field._f;
654
923
  const inputValue = get(formValues, name);
655
- if (!mount || disabled) {
924
+ if (!mount || disabledFieldNames.has(name)) {
656
925
  return {};
657
926
  }
658
927
  const inputRef = refs ? refs[0] : ref;
@@ -828,273 +1097,6 @@ var validateField = async (field, formValues, validateAllFieldCriteria, shouldUs
828
1097
  return error;
829
1098
  };
830
1099
 
831
- function baseGet(object, updatePath) {
832
- const length = updatePath.slice(0, -1).length;
833
- let index = 0;
834
- while (index < length) {
835
- object = isUndefined(object) ? index++ : object[updatePath[index++]];
836
- }
837
- return object;
838
- }
839
- function isEmptyArray(obj) {
840
- for (const key in obj) {
841
- if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {
842
- return false;
843
- }
844
- }
845
- return true;
846
- }
847
- function unset(object, path) {
848
- const paths = Array.isArray(path)
849
- ? path
850
- : isKey(path)
851
- ? [path]
852
- : stringToPath(path);
853
- const childObject = paths.length === 1 ? object : baseGet(object, paths);
854
- const index = paths.length - 1;
855
- const key = paths[index];
856
- if (childObject) {
857
- delete childObject[key];
858
- }
859
- if (index !== 0 &&
860
- ((isObject$1(childObject) && isEmptyObject(childObject)) ||
861
- (Array.isArray(childObject) && isEmptyArray(childObject)))) {
862
- unset(object, paths.slice(0, -1));
863
- }
864
- return object;
865
- }
866
-
867
- var createSubject = () => {
868
- let _observers = [];
869
- const next = (value) => {
870
- for (const observer of _observers) {
871
- observer.next && observer.next(value);
872
- }
873
- };
874
- const subscribe = (observer) => {
875
- _observers.push(observer);
876
- return {
877
- unsubscribe: () => {
878
- _observers = _observers.filter((o) => o !== observer);
879
- },
880
- };
881
- };
882
- const unsubscribe = () => {
883
- _observers = [];
884
- };
885
- return {
886
- get observers() {
887
- return _observers;
888
- },
889
- next,
890
- subscribe,
891
- unsubscribe,
892
- };
893
- };
894
-
895
- var isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);
896
-
897
- function deepEqual(object1, object2) {
898
- if (isPrimitive(object1) || isPrimitive(object2)) {
899
- return object1 === object2;
900
- }
901
- if (isDateObject(object1) && isDateObject(object2)) {
902
- return object1.getTime() === object2.getTime();
903
- }
904
- const keys1 = Object.keys(object1);
905
- const keys2 = Object.keys(object2);
906
- if (keys1.length !== keys2.length) {
907
- return false;
908
- }
909
- for (const key of keys1) {
910
- const val1 = object1[key];
911
- if (!keys2.includes(key)) {
912
- return false;
913
- }
914
- if (key !== 'ref') {
915
- const val2 = object2[key];
916
- if ((isDateObject(val1) && isDateObject(val2)) ||
917
- (isObject$1(val1) && isObject$1(val2)) ||
918
- (Array.isArray(val1) && Array.isArray(val2))
919
- ? !deepEqual(val1, val2)
920
- : val1 !== val2) {
921
- return false;
922
- }
923
- }
924
- }
925
- return true;
926
- }
927
-
928
- var isMultipleSelect = (element) => element.type === `select-multiple`;
929
-
930
- var isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);
931
-
932
- var live = (ref) => isHTMLElement$2(ref) && ref.isConnected;
933
-
934
- var objectHasFunction = (data) => {
935
- for (const key in data) {
936
- if (isFunction(data[key])) {
937
- return true;
938
- }
939
- }
940
- return false;
941
- };
942
-
943
- function markFieldsDirty(data, fields = {}) {
944
- const isParentNodeArray = Array.isArray(data);
945
- if (isObject$1(data) || isParentNodeArray) {
946
- for (const key in data) {
947
- if (Array.isArray(data[key]) ||
948
- (isObject$1(data[key]) && !objectHasFunction(data[key]))) {
949
- fields[key] = Array.isArray(data[key]) ? [] : {};
950
- markFieldsDirty(data[key], fields[key]);
951
- }
952
- else if (!isNullOrUndefined(data[key])) {
953
- fields[key] = true;
954
- }
955
- }
956
- }
957
- return fields;
958
- }
959
- function getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {
960
- const isParentNodeArray = Array.isArray(data);
961
- if (isObject$1(data) || isParentNodeArray) {
962
- for (const key in data) {
963
- if (Array.isArray(data[key]) ||
964
- (isObject$1(data[key]) && !objectHasFunction(data[key]))) {
965
- if (isUndefined(formValues) ||
966
- isPrimitive(dirtyFieldsFromValues[key])) {
967
- dirtyFieldsFromValues[key] = Array.isArray(data[key])
968
- ? markFieldsDirty(data[key], [])
969
- : { ...markFieldsDirty(data[key]) };
970
- }
971
- else {
972
- getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);
973
- }
974
- }
975
- else {
976
- dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);
977
- }
978
- }
979
- }
980
- return dirtyFieldsFromValues;
981
- }
982
- var getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));
983
-
984
- var getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)
985
- ? value
986
- : valueAsNumber
987
- ? value === ''
988
- ? NaN
989
- : value
990
- ? +value
991
- : value
992
- : valueAsDate && isString(value)
993
- ? new Date(value)
994
- : setValueAs
995
- ? setValueAs(value)
996
- : value;
997
-
998
- function getFieldValue(_f) {
999
- const ref = _f.ref;
1000
- if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {
1001
- return;
1002
- }
1003
- if (isFileInput(ref)) {
1004
- return ref.files;
1005
- }
1006
- if (isRadioInput(ref)) {
1007
- return getRadioValue(_f.refs).value;
1008
- }
1009
- if (isMultipleSelect(ref)) {
1010
- return [...ref.selectedOptions].map(({ value }) => value);
1011
- }
1012
- if (isCheckBoxInput(ref)) {
1013
- return getCheckboxValue(_f.refs).value;
1014
- }
1015
- return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);
1016
- }
1017
-
1018
- var getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {
1019
- const fields = {};
1020
- for (const name of fieldsNames) {
1021
- const field = get(_fields, name);
1022
- field && set(fields, name, field._f);
1023
- }
1024
- return {
1025
- criteriaMode,
1026
- names: [...fieldsNames],
1027
- fields,
1028
- shouldUseNativeValidation,
1029
- };
1030
- };
1031
-
1032
- var getRuleValue = (rule) => isUndefined(rule)
1033
- ? rule
1034
- : isRegex(rule)
1035
- ? rule.source
1036
- : isObject$1(rule)
1037
- ? isRegex(rule.value)
1038
- ? rule.value.source
1039
- : rule.value
1040
- : rule;
1041
-
1042
- var hasValidation = (options) => options.mount &&
1043
- (options.required ||
1044
- options.min ||
1045
- options.max ||
1046
- options.maxLength ||
1047
- options.minLength ||
1048
- options.pattern ||
1049
- options.validate);
1050
-
1051
- function schemaErrorLookup(errors, _fields, name) {
1052
- const error = get(errors, name);
1053
- if (error || isKey(name)) {
1054
- return {
1055
- error,
1056
- name,
1057
- };
1058
- }
1059
- const names = name.split('.');
1060
- while (names.length) {
1061
- const fieldName = names.join('.');
1062
- const field = get(_fields, fieldName);
1063
- const foundError = get(errors, fieldName);
1064
- if (field && !Array.isArray(field) && name !== fieldName) {
1065
- return { name };
1066
- }
1067
- if (foundError && foundError.type) {
1068
- return {
1069
- name: fieldName,
1070
- error: foundError,
1071
- };
1072
- }
1073
- names.pop();
1074
- }
1075
- return {
1076
- name,
1077
- };
1078
- }
1079
-
1080
- var skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {
1081
- if (mode.isOnAll) {
1082
- return false;
1083
- }
1084
- else if (!isSubmitted && mode.isOnTouch) {
1085
- return !(isTouched || isBlurEvent);
1086
- }
1087
- else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {
1088
- return !isBlurEvent;
1089
- }
1090
- else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {
1091
- return isBlurEvent;
1092
- }
1093
- return true;
1094
- };
1095
-
1096
- var unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);
1097
-
1098
1100
  const defaultOptions$2 = {
1099
1101
  mode: VALIDATION_MODE.onSubmit,
1100
1102
  reValidateMode: VALIDATION_MODE.onChange,
@@ -1120,9 +1122,9 @@ function createFormControl(props = {}) {
1120
1122
  errors: _options.errors || {},
1121
1123
  disabled: _options.disabled || false,
1122
1124
  };
1123
- let _fields = {};
1125
+ const _fields = {};
1124
1126
  let _defaultValues = isObject$1(_options.defaultValues) || isObject$1(_options.values)
1125
- ? cloneObject(_options.defaultValues || _options.values) || {}
1127
+ ? cloneObject(_options.values || _options.defaultValues) || {}
1126
1128
  : {};
1127
1129
  let _formValues = _options.shouldUnregister
1128
1130
  ? {}
@@ -1134,6 +1136,7 @@ function createFormControl(props = {}) {
1134
1136
  };
1135
1137
  let _names = {
1136
1138
  mount: new Set(),
1139
+ disabled: new Set(),
1137
1140
  unMount: new Set(),
1138
1141
  array: new Set(),
1139
1142
  watch: new Set(),
@@ -1149,8 +1152,10 @@ function createFormControl(props = {}) {
1149
1152
  isValid: false,
1150
1153
  errors: false,
1151
1154
  };
1155
+ let _proxySubscribeFormState = {
1156
+ ..._proxyFormState,
1157
+ };
1152
1158
  const _subjects = {
1153
- values: createSubject(),
1154
1159
  array: createSubject(),
1155
1160
  state: createSubject(),
1156
1161
  };
@@ -1161,10 +1166,13 @@ function createFormControl(props = {}) {
1161
1166
  clearTimeout(timer);
1162
1167
  timer = setTimeout(callback, wait);
1163
1168
  };
1164
- const _updateValid = async (shouldUpdateValid) => {
1165
- if (_proxyFormState.isValid || shouldUpdateValid) {
1169
+ const _setValid = async (shouldUpdateValid) => {
1170
+ if (!_options.disabled &&
1171
+ (_proxyFormState.isValid ||
1172
+ _proxySubscribeFormState.isValid ||
1173
+ shouldUpdateValid)) {
1166
1174
  const isValid = _options.resolver
1167
- ? isEmptyObject((await _executeSchema()).errors)
1175
+ ? isEmptyObject((await _runSchema()).errors)
1168
1176
  : await executeBuiltInValidation(_fields, true);
1169
1177
  if (isValid !== _formState.isValid) {
1170
1178
  _subjects.state.next({
@@ -1174,7 +1182,11 @@ function createFormControl(props = {}) {
1174
1182
  }
1175
1183
  };
1176
1184
  const _updateIsValidating = (names, isValidating) => {
1177
- if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {
1185
+ if (!_options.disabled &&
1186
+ (_proxyFormState.isValidating ||
1187
+ _proxyFormState.validatingFields ||
1188
+ _proxySubscribeFormState.isValidating ||
1189
+ _proxySubscribeFormState.validatingFields)) {
1178
1190
  (names || Array.from(_names.mount)).forEach((name) => {
1179
1191
  if (name) {
1180
1192
  isValidating
@@ -1188,8 +1200,8 @@ function createFormControl(props = {}) {
1188
1200
  });
1189
1201
  }
1190
1202
  };
1191
- const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {
1192
- if (args && method) {
1203
+ const _setFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {
1204
+ if (args && method && !_options.disabled) {
1193
1205
  _state.action = true;
1194
1206
  if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {
1195
1207
  const fieldValues = method(get(_fields, name), args.argA, args.argB);
@@ -1201,13 +1213,14 @@ function createFormControl(props = {}) {
1201
1213
  shouldSetValues && set(_formState.errors, name, errors);
1202
1214
  unsetEmptyArray(_formState.errors, name);
1203
1215
  }
1204
- if (_proxyFormState.touchedFields &&
1216
+ if ((_proxyFormState.touchedFields ||
1217
+ _proxySubscribeFormState.touchedFields) &&
1205
1218
  shouldUpdateFieldsAndState &&
1206
1219
  Array.isArray(get(_formState.touchedFields, name))) {
1207
1220
  const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);
1208
1221
  shouldSetValues && set(_formState.touchedFields, name, touchedFields);
1209
1222
  }
1210
- if (_proxyFormState.dirtyFields) {
1223
+ if (_proxyFormState.dirtyFields || _proxySubscribeFormState.dirtyFields) {
1211
1224
  _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);
1212
1225
  }
1213
1226
  _subjects.state.next({
@@ -1244,7 +1257,7 @@ function createFormControl(props = {}) {
1244
1257
  shouldSkipSetValueAs
1245
1258
  ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))
1246
1259
  : setFieldValue(name, defaultValue);
1247
- _state.mount && _updateValid();
1260
+ _state.mount && _setValid();
1248
1261
  }
1249
1262
  };
1250
1263
  const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {
@@ -1253,46 +1266,49 @@ function createFormControl(props = {}) {
1253
1266
  const output = {
1254
1267
  name,
1255
1268
  };
1256
- const disabledField = !!(get(_fields, name) && get(_fields, name)._f.disabled);
1257
- if (!isBlurEvent || shouldDirty) {
1258
- if (_proxyFormState.isDirty) {
1259
- isPreviousDirty = _formState.isDirty;
1260
- _formState.isDirty = output.isDirty = _getDirty();
1261
- shouldUpdateField = isPreviousDirty !== output.isDirty;
1262
- }
1263
- const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);
1264
- isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));
1265
- isCurrentFieldPristine || disabledField
1266
- ? unset(_formState.dirtyFields, name)
1267
- : set(_formState.dirtyFields, name, true);
1268
- output.dirtyFields = _formState.dirtyFields;
1269
- shouldUpdateField =
1270
- shouldUpdateField ||
1271
- (_proxyFormState.dirtyFields &&
1272
- isPreviousDirty !== !isCurrentFieldPristine);
1273
- }
1274
- if (isBlurEvent) {
1275
- const isPreviousFieldTouched = get(_formState.touchedFields, name);
1276
- if (!isPreviousFieldTouched) {
1277
- set(_formState.touchedFields, name, isBlurEvent);
1278
- output.touchedFields = _formState.touchedFields;
1269
+ if (!_options.disabled) {
1270
+ if (!isBlurEvent || shouldDirty) {
1271
+ if (_proxyFormState.isDirty || _proxySubscribeFormState.isDirty) {
1272
+ isPreviousDirty = _formState.isDirty;
1273
+ _formState.isDirty = output.isDirty = _getDirty();
1274
+ shouldUpdateField = isPreviousDirty !== output.isDirty;
1275
+ }
1276
+ const isCurrentFieldPristine = deepEqual(get(_defaultValues, name), fieldValue);
1277
+ isPreviousDirty = !!get(_formState.dirtyFields, name);
1278
+ isCurrentFieldPristine
1279
+ ? unset(_formState.dirtyFields, name)
1280
+ : set(_formState.dirtyFields, name, true);
1281
+ output.dirtyFields = _formState.dirtyFields;
1279
1282
  shouldUpdateField =
1280
1283
  shouldUpdateField ||
1281
- (_proxyFormState.touchedFields &&
1282
- isPreviousFieldTouched !== isBlurEvent);
1284
+ ((_proxyFormState.dirtyFields ||
1285
+ _proxySubscribeFormState.dirtyFields) &&
1286
+ isPreviousDirty !== !isCurrentFieldPristine);
1283
1287
  }
1288
+ if (isBlurEvent) {
1289
+ const isPreviousFieldTouched = get(_formState.touchedFields, name);
1290
+ if (!isPreviousFieldTouched) {
1291
+ set(_formState.touchedFields, name, isBlurEvent);
1292
+ output.touchedFields = _formState.touchedFields;
1293
+ shouldUpdateField =
1294
+ shouldUpdateField ||
1295
+ ((_proxyFormState.touchedFields ||
1296
+ _proxySubscribeFormState.touchedFields) &&
1297
+ isPreviousFieldTouched !== isBlurEvent);
1298
+ }
1299
+ }
1300
+ shouldUpdateField && shouldRender && _subjects.state.next(output);
1284
1301
  }
1285
- shouldUpdateField && shouldRender && _subjects.state.next(output);
1286
1302
  return shouldUpdateField ? output : {};
1287
1303
  };
1288
1304
  const shouldRenderByError = (name, isValid, error, fieldState) => {
1289
1305
  const previousFieldError = get(_formState.errors, name);
1290
- const shouldUpdateValid = _proxyFormState.isValid &&
1306
+ const shouldUpdateValid = (_proxyFormState.isValid || _proxySubscribeFormState.isValid) &&
1291
1307
  isBoolean(isValid) &&
1292
1308
  _formState.isValid !== isValid;
1293
- if (props.delayError && error) {
1309
+ if (_options.delayError && error) {
1294
1310
  delayErrorCallback = debounce(() => updateErrors(name, error));
1295
- delayErrorCallback(props.delayError);
1311
+ delayErrorCallback(_options.delayError);
1296
1312
  }
1297
1313
  else {
1298
1314
  clearTimeout(timer);
@@ -1317,14 +1333,14 @@ function createFormControl(props = {}) {
1317
1333
  _subjects.state.next(updatedFormState);
1318
1334
  }
1319
1335
  };
1320
- const _executeSchema = async (name) => {
1336
+ const _runSchema = async (name) => {
1321
1337
  _updateIsValidating(name, true);
1322
1338
  const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));
1323
1339
  _updateIsValidating(name);
1324
1340
  return result;
1325
1341
  };
1326
1342
  const executeSchemaAndUpdateState = async (names) => {
1327
- const { errors } = await _executeSchema(names);
1343
+ const { errors } = await _runSchema(names);
1328
1344
  if (names) {
1329
1345
  for (const name of names) {
1330
1346
  const error = get(errors, name);
@@ -1347,9 +1363,14 @@ function createFormControl(props = {}) {
1347
1363
  const { _f, ...fieldValue } = field;
1348
1364
  if (_f) {
1349
1365
  const isFieldArrayRoot = _names.array.has(_f.name);
1350
- _updateIsValidating([name], true);
1351
- const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);
1352
- _updateIsValidating([name]);
1366
+ const isPromiseFunction = field._f && hasPromiseValidation(field._f);
1367
+ if (isPromiseFunction && _proxyFormState.validatingFields) {
1368
+ _updateIsValidating([name], true);
1369
+ }
1370
+ const fieldError = await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);
1371
+ if (isPromiseFunction && _proxyFormState.validatingFields) {
1372
+ _updateIsValidating([name]);
1373
+ }
1353
1374
  if (fieldError[_f.name]) {
1354
1375
  context.valid = false;
1355
1376
  if (shouldOnlyCheckValid) {
@@ -1363,7 +1384,7 @@ function createFormControl(props = {}) {
1363
1384
  : set(_formState.errors, _f.name, fieldError[_f.name])
1364
1385
  : unset(_formState.errors, _f.name));
1365
1386
  }
1366
- fieldValue &&
1387
+ !isEmptyObject(fieldValue) &&
1367
1388
  (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));
1368
1389
  }
1369
1390
  }
@@ -1380,8 +1401,9 @@ function createFormControl(props = {}) {
1380
1401
  }
1381
1402
  _names.unMount = new Set();
1382
1403
  };
1383
- const _getDirty = (name, data) => (name && data && set(_formValues, name, data),
1384
- !deepEqual(getValues(), _defaultValues));
1404
+ const _getDirty = (name, data) => !_options.disabled &&
1405
+ (name && data && set(_formValues, name, data),
1406
+ !deepEqual(getValues(), _defaultValues));
1385
1407
  const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {
1386
1408
  ...(_state.mount
1387
1409
  ? _formValues
@@ -1391,7 +1413,7 @@ function createFormControl(props = {}) {
1391
1413
  ? { [names]: defaultValue }
1392
1414
  : defaultValue),
1393
1415
  }, isGlobal, defaultValue);
1394
- const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));
1416
+ const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, _options.shouldUnregister ? get(_defaultValues, name, []) : []));
1395
1417
  const setFieldValue = (name, value, options = {}) => {
1396
1418
  const field = get(_fields, name);
1397
1419
  let fieldValue = value;
@@ -1427,9 +1449,9 @@ function createFormControl(props = {}) {
1427
1449
  else {
1428
1450
  fieldReference.ref.value = fieldValue;
1429
1451
  if (!fieldReference.ref.type) {
1430
- _subjects.values.next({
1452
+ _subjects.state.next({
1431
1453
  name,
1432
- values: { ..._formValues },
1454
+ values: cloneObject(_formValues),
1433
1455
  });
1434
1456
  }
1435
1457
  }
@@ -1445,7 +1467,7 @@ function createFormControl(props = {}) {
1445
1467
  const fieldName = `${name}.${fieldKey}`;
1446
1468
  const field = get(_fields, fieldName);
1447
1469
  (_names.array.has(name) ||
1448
- !isPrimitive(fieldValue) ||
1470
+ isObject$1(fieldValue) ||
1449
1471
  (field && !field._f)) &&
1450
1472
  !isDateObject(fieldValue)
1451
1473
  ? setValues(fieldName, fieldValue, options)
@@ -1460,9 +1482,12 @@ function createFormControl(props = {}) {
1460
1482
  if (isFieldArray) {
1461
1483
  _subjects.array.next({
1462
1484
  name,
1463
- values: { ..._formValues },
1485
+ values: cloneObject(_formValues),
1464
1486
  });
1465
- if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&
1487
+ if ((_proxyFormState.isDirty ||
1488
+ _proxyFormState.dirtyFields ||
1489
+ _proxySubscribeFormState.isDirty ||
1490
+ _proxySubscribeFormState.dirtyFields) &&
1466
1491
  options.shouldDirty) {
1467
1492
  _subjects.state.next({
1468
1493
  name,
@@ -1477,9 +1502,9 @@ function createFormControl(props = {}) {
1477
1502
  : setFieldValue(name, cloneValue, options);
1478
1503
  }
1479
1504
  isWatched(name, _names) && _subjects.state.next({ ..._formState });
1480
- _subjects.values.next({
1505
+ _subjects.state.next({
1481
1506
  name: _state.mount ? name : undefined,
1482
- values: { ..._formValues },
1507
+ values: cloneObject(_formValues),
1483
1508
  });
1484
1509
  };
1485
1510
  const onChange = async (event) => {
@@ -1488,16 +1513,18 @@ function createFormControl(props = {}) {
1488
1513
  let name = target.name;
1489
1514
  let isFieldValueUpdated = true;
1490
1515
  const field = get(_fields, name);
1491
- const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);
1492
1516
  const _updateIsFieldValueUpdated = (fieldValue) => {
1493
1517
  isFieldValueUpdated =
1494
1518
  Number.isNaN(fieldValue) ||
1495
- fieldValue === get(_formValues, name, fieldValue);
1519
+ (isDateObject(fieldValue) && isNaN(fieldValue.getTime())) ||
1520
+ deepEqual(fieldValue, get(_formValues, name, fieldValue));
1496
1521
  };
1497
1522
  if (field) {
1498
1523
  let error;
1499
1524
  let isValid;
1500
- const fieldValue = getCurrentFieldValue();
1525
+ const fieldValue = target.type
1526
+ ? getFieldValue(field._f)
1527
+ : getEventValue(event);
1501
1528
  const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;
1502
1529
  const shouldSkipValidation = (!hasValidation(field._f) &&
1503
1530
  !_options.resolver &&
@@ -1513,22 +1540,31 @@ function createFormControl(props = {}) {
1513
1540
  else if (field._f.onChange) {
1514
1541
  field._f.onChange(event);
1515
1542
  }
1516
- const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);
1543
+ const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent);
1517
1544
  const shouldRender = !isEmptyObject(fieldState) || watched;
1518
1545
  !isBlurEvent &&
1519
- _subjects.values.next({
1546
+ _subjects.state.next({
1520
1547
  name,
1521
1548
  type: event.type,
1522
- values: { ..._formValues },
1549
+ values: cloneObject(_formValues),
1523
1550
  });
1524
1551
  if (shouldSkipValidation) {
1525
- _proxyFormState.isValid && _updateValid();
1552
+ if (_proxyFormState.isValid || _proxySubscribeFormState.isValid) {
1553
+ if (_options.mode === 'onBlur') {
1554
+ if (isBlurEvent) {
1555
+ _setValid();
1556
+ }
1557
+ }
1558
+ else if (!isBlurEvent) {
1559
+ _setValid();
1560
+ }
1561
+ }
1526
1562
  return (shouldRender &&
1527
1563
  _subjects.state.next({ name, ...(watched ? {} : fieldState) }));
1528
1564
  }
1529
1565
  !isBlurEvent && watched && _subjects.state.next({ ..._formState });
1530
1566
  if (_options.resolver) {
1531
- const { errors } = await _executeSchema([name]);
1567
+ const { errors } = await _runSchema([name]);
1532
1568
  _updateIsFieldValueUpdated(fieldValue);
1533
1569
  if (isFieldValueUpdated) {
1534
1570
  const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);
@@ -1540,14 +1576,15 @@ function createFormControl(props = {}) {
1540
1576
  }
1541
1577
  else {
1542
1578
  _updateIsValidating([name], true);
1543
- error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];
1579
+ error = (await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];
1544
1580
  _updateIsValidating([name]);
1545
1581
  _updateIsFieldValueUpdated(fieldValue);
1546
1582
  if (isFieldValueUpdated) {
1547
1583
  if (error) {
1548
1584
  isValid = false;
1549
1585
  }
1550
- else if (_proxyFormState.isValid) {
1586
+ else if (_proxyFormState.isValid ||
1587
+ _proxySubscribeFormState.isValid) {
1551
1588
  isValid = await executeBuiltInValidation(_fields, true);
1552
1589
  }
1553
1590
  }
@@ -1582,14 +1619,15 @@ function createFormControl(props = {}) {
1582
1619
  const field = get(_fields, fieldName);
1583
1620
  return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);
1584
1621
  }))).every(Boolean);
1585
- !(!validationResult && !_formState.isValid) && _updateValid();
1622
+ !(!validationResult && !_formState.isValid) && _setValid();
1586
1623
  }
1587
1624
  else {
1588
1625
  validationResult = isValid = await executeBuiltInValidation(_fields);
1589
1626
  }
1590
1627
  _subjects.state.next({
1591
1628
  ...(!isString(name) ||
1592
- (_proxyFormState.isValid && isValid !== _formState.isValid)
1629
+ ((_proxyFormState.isValid || _proxySubscribeFormState.isValid) &&
1630
+ isValid !== _formState.isValid)
1593
1631
  ? {}
1594
1632
  : { name }),
1595
1633
  ...(_options.resolver || !name ? { isValid } : {}),
@@ -1613,9 +1651,9 @@ function createFormControl(props = {}) {
1613
1651
  const getFieldState = (name, formState) => ({
1614
1652
  invalid: !!get((formState || _formState).errors, name),
1615
1653
  isDirty: !!get((formState || _formState).dirtyFields, name),
1616
- isTouched: !!get((formState || _formState).touchedFields, name),
1617
- isValidating: !!get((formState || _formState).validatingFields, name),
1618
1654
  error: get((formState || _formState).errors, name),
1655
+ isValidating: !!get(_formState.validatingFields, name),
1656
+ isTouched: !!get((formState || _formState).touchedFields, name),
1619
1657
  });
1620
1658
  const clearErrors = (name) => {
1621
1659
  name &&
@@ -1642,10 +1680,33 @@ function createFormControl(props = {}) {
1642
1680
  options && options.shouldFocus && ref && ref.focus && ref.focus();
1643
1681
  };
1644
1682
  const watch = (name, defaultValue) => isFunction(name)
1645
- ? _subjects.values.subscribe({
1683
+ ? _subjects.state.subscribe({
1646
1684
  next: (payload) => name(_getWatch(undefined, defaultValue), payload),
1647
1685
  })
1648
1686
  : _getWatch(name, defaultValue, true);
1687
+ const _subscribe = (props) => _subjects.state.subscribe({
1688
+ next: (formState) => {
1689
+ if (shouldSubscribeByName(props.name, formState.name, props.exact) &&
1690
+ shouldRenderFormState(formState, props.formState || _proxyFormState, _setFormState, props.reRenderRoot)) {
1691
+ props.callback({
1692
+ values: { ..._formValues },
1693
+ ..._formState,
1694
+ ...formState,
1695
+ });
1696
+ }
1697
+ },
1698
+ }).unsubscribe;
1699
+ const subscribe = (props) => {
1700
+ _state.mount = true;
1701
+ _proxySubscribeFormState = {
1702
+ ..._proxySubscribeFormState,
1703
+ ...props.formState,
1704
+ };
1705
+ return _subscribe({
1706
+ ...props,
1707
+ formState: _proxySubscribeFormState,
1708
+ });
1709
+ };
1649
1710
  const unregister = (name, options = {}) => {
1650
1711
  for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {
1651
1712
  _names.mount.delete(fieldName);
@@ -1663,29 +1724,25 @@ function createFormControl(props = {}) {
1663
1724
  !options.keepDefaultValue &&
1664
1725
  unset(_defaultValues, fieldName);
1665
1726
  }
1666
- _subjects.values.next({
1667
- values: { ..._formValues },
1727
+ _subjects.state.next({
1728
+ values: cloneObject(_formValues),
1668
1729
  });
1669
1730
  _subjects.state.next({
1670
1731
  ..._formState,
1671
1732
  ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),
1672
1733
  });
1673
- !options.keepIsValid && _updateValid();
1674
- };
1675
- const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {
1676
- if ((isBoolean(disabled) && _state.mount) || !!disabled) {
1677
- const inputValue = disabled
1678
- ? undefined
1679
- : isUndefined(value)
1680
- ? getFieldValue(field ? field._f : get(fields, name)._f)
1681
- : value;
1682
- set(_formValues, name, inputValue);
1683
- updateTouchAndDirty(name, inputValue, false, false, true);
1734
+ !options.keepIsValid && _setValid();
1735
+ };
1736
+ const _setDisabledField = ({ disabled, name, }) => {
1737
+ if ((isBoolean(disabled) && _state.mount) ||
1738
+ !!disabled ||
1739
+ _names.disabled.has(name)) {
1740
+ disabled ? _names.disabled.add(name) : _names.disabled.delete(name);
1684
1741
  }
1685
1742
  };
1686
1743
  const register = (name, options = {}) => {
1687
1744
  let field = get(_fields, name);
1688
- const disabledIsDefined = isBoolean(options.disabled);
1745
+ const disabledIsDefined = isBoolean(options.disabled) || isBoolean(_options.disabled);
1689
1746
  set(_fields, name, {
1690
1747
  ...(field || {}),
1691
1748
  _f: {
@@ -1697,18 +1754,20 @@ function createFormControl(props = {}) {
1697
1754
  });
1698
1755
  _names.mount.add(name);
1699
1756
  if (field) {
1700
- _updateDisabledField({
1701
- field,
1702
- disabled: options.disabled,
1757
+ _setDisabledField({
1758
+ disabled: isBoolean(options.disabled)
1759
+ ? options.disabled
1760
+ : _options.disabled,
1703
1761
  name,
1704
- value: options.value,
1705
1762
  });
1706
1763
  }
1707
1764
  else {
1708
1765
  updateValidAndValue(name, true, options.value);
1709
1766
  }
1710
1767
  return {
1711
- ...(disabledIsDefined ? { disabled: options.disabled } : {}),
1768
+ ...(disabledIsDefined
1769
+ ? { disabled: options.disabled || _options.disabled }
1770
+ : {}),
1712
1771
  ...(_options.progressive
1713
1772
  ? {
1714
1773
  required: !!options.required,
@@ -1789,20 +1848,26 @@ function createFormControl(props = {}) {
1789
1848
  let onValidError = undefined;
1790
1849
  if (e) {
1791
1850
  e.preventDefault && e.preventDefault();
1792
- e.persist && e.persist();
1851
+ e.persist &&
1852
+ e.persist();
1793
1853
  }
1794
1854
  let fieldValues = cloneObject(_formValues);
1795
1855
  _subjects.state.next({
1796
1856
  isSubmitting: true,
1797
1857
  });
1798
1858
  if (_options.resolver) {
1799
- const { errors, values } = await _executeSchema();
1859
+ const { errors, values } = await _runSchema();
1800
1860
  _formState.errors = errors;
1801
1861
  fieldValues = values;
1802
1862
  }
1803
1863
  else {
1804
1864
  await executeBuiltInValidation(_fields);
1805
1865
  }
1866
+ if (_names.disabled.size) {
1867
+ for (const name of _names.disabled) {
1868
+ set(fieldValues, name, undefined);
1869
+ }
1870
+ }
1806
1871
  unset(_formState.errors, 'root');
1807
1872
  if (isEmptyObject(_formState.errors)) {
1808
1873
  _subjects.state.next({
@@ -1853,7 +1918,7 @@ function createFormControl(props = {}) {
1853
1918
  }
1854
1919
  if (!options.keepError) {
1855
1920
  unset(_formState.errors, name);
1856
- _proxyFormState.isValid && _updateValid();
1921
+ _proxyFormState.isValid && _setValid();
1857
1922
  }
1858
1923
  _subjects.state.next({ ..._formState });
1859
1924
  }
@@ -1868,7 +1933,11 @@ function createFormControl(props = {}) {
1868
1933
  }
1869
1934
  if (!keepStateOptions.keepValues) {
1870
1935
  if (keepStateOptions.keepDirtyValues) {
1871
- for (const fieldName of _names.mount) {
1936
+ const fieldsToCheck = new Set([
1937
+ ..._names.mount,
1938
+ ...Object.keys(getDirtyFields(_defaultValues, _formValues)),
1939
+ ]);
1940
+ for (const fieldName of Array.from(fieldsToCheck)) {
1872
1941
  get(_formState.dirtyFields, fieldName)
1873
1942
  ? set(values, fieldName, get(_formValues, fieldName))
1874
1943
  : setValue(fieldName, get(values, fieldName));
@@ -1892,17 +1961,15 @@ function createFormControl(props = {}) {
1892
1961
  }
1893
1962
  }
1894
1963
  }
1895
- _fields = {};
1964
+ for (const fieldName of _names.mount) {
1965
+ setValue(fieldName, get(values, fieldName));
1966
+ }
1896
1967
  }
1897
- _formValues = props.shouldUnregister
1898
- ? keepStateOptions.keepDefaultValues
1899
- ? cloneObject(_defaultValues)
1900
- : {}
1901
- : cloneObject(values);
1968
+ _formValues = cloneObject(values);
1902
1969
  _subjects.array.next({
1903
1970
  values: { ...values },
1904
1971
  });
1905
- _subjects.values.next({
1972
+ _subjects.state.next({
1906
1973
  values: { ...values },
1907
1974
  });
1908
1975
  }
@@ -1910,6 +1977,7 @@ function createFormControl(props = {}) {
1910
1977
  mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),
1911
1978
  unMount: new Set(),
1912
1979
  array: new Set(),
1980
+ disabled: new Set(),
1913
1981
  watch: new Set(),
1914
1982
  watchAll: false,
1915
1983
  focus: '',
@@ -1918,7 +1986,7 @@ function createFormControl(props = {}) {
1918
1986
  !_proxyFormState.isValid ||
1919
1987
  !!keepStateOptions.keepIsValid ||
1920
1988
  !!keepStateOptions.keepDirtyValues;
1921
- _state.watch = !!props.shouldUnregister;
1989
+ _state.watch = !!_options.shouldUnregister;
1922
1990
  _subjects.state.next({
1923
1991
  submitCount: keepStateOptions.keepSubmitCount
1924
1992
  ? _formState.submitCount
@@ -1933,14 +2001,16 @@ function createFormControl(props = {}) {
1933
2001
  ? _formState.isSubmitted
1934
2002
  : false,
1935
2003
  dirtyFields: isEmptyResetValues
1936
- ? []
2004
+ ? {}
1937
2005
  : keepStateOptions.keepDirtyValues
1938
2006
  ? keepStateOptions.keepDefaultValues && _formValues
1939
2007
  ? getDirtyFields(_defaultValues, _formValues)
1940
2008
  : _formState.dirtyFields
1941
2009
  : keepStateOptions.keepDefaultValues && formValues
1942
2010
  ? getDirtyFields(_defaultValues, formValues)
1943
- : {},
2011
+ : keepStateOptions.keepDirty
2012
+ ? _formState.dirtyFields
2013
+ : {},
1944
2014
  touchedFields: keepStateOptions.keepTouched
1945
2015
  ? _formState.touchedFields
1946
2016
  : {},
@@ -1963,11 +2033,13 @@ function createFormControl(props = {}) {
1963
2033
  : fieldReference.ref;
1964
2034
  if (fieldRef.focus) {
1965
2035
  fieldRef.focus();
1966
- options.shouldSelect && fieldRef.select();
2036
+ options.shouldSelect &&
2037
+ isFunction(fieldRef.select) &&
2038
+ fieldRef.select();
1967
2039
  }
1968
2040
  }
1969
2041
  };
1970
- const _updateFormState = (updatedFormState) => {
2042
+ const _setFormState = (updatedFormState) => {
1971
2043
  _formState = {
1972
2044
  ..._formState,
1973
2045
  ...updatedFormState,
@@ -1980,28 +2052,28 @@ function createFormControl(props = {}) {
1980
2052
  isLoading: false,
1981
2053
  });
1982
2054
  });
1983
- return {
2055
+ const methods = {
1984
2056
  control: {
1985
2057
  register,
1986
2058
  unregister,
1987
2059
  getFieldState,
1988
2060
  handleSubmit,
1989
2061
  setError,
1990
- _executeSchema,
2062
+ _subscribe,
2063
+ _runSchema,
1991
2064
  _getWatch,
1992
2065
  _getDirty,
1993
- _updateValid,
1994
- _removeUnmounted,
1995
- _updateFieldArray,
1996
- _updateDisabledField,
2066
+ _setValid,
2067
+ _setFieldArray,
2068
+ _setDisabledField,
2069
+ _setErrors,
1997
2070
  _getFieldArray,
1998
2071
  _reset,
1999
2072
  _resetDefaultValues,
2000
- _updateFormState,
2073
+ _removeUnmounted,
2001
2074
  _disableForm,
2002
2075
  _subjects,
2003
2076
  _proxyFormState,
2004
- _setErrors,
2005
2077
  get _fields() {
2006
2078
  return _fields;
2007
2079
  },
@@ -2026,9 +2098,6 @@ function createFormControl(props = {}) {
2026
2098
  get _formState() {
2027
2099
  return _formState;
2028
2100
  },
2029
- set _formState(value) {
2030
- _formState = value;
2031
- },
2032
2101
  get _options() {
2033
2102
  return _options;
2034
2103
  },
@@ -2039,6 +2108,7 @@ function createFormControl(props = {}) {
2039
2108
  };
2040
2109
  },
2041
2110
  },
2111
+ subscribe,
2042
2112
  trigger,
2043
2113
  register,
2044
2114
  handleSubmit,
@@ -2053,6 +2123,10 @@ function createFormControl(props = {}) {
2053
2123
  setFocus,
2054
2124
  getFieldState,
2055
2125
  };
2126
+ return {
2127
+ ...methods,
2128
+ formControl: methods,
2129
+ };
2056
2130
  }
2057
2131
 
2058
2132
  /**
@@ -2085,8 +2159,8 @@ function createFormControl(props = {}) {
2085
2159
  * ```
2086
2160
  */
2087
2161
  function useForm(props = {}) {
2088
- const _formControl = React__default.useRef();
2089
- const _values = React__default.useRef();
2162
+ const _formControl = React__default.useRef(undefined);
2163
+ const _values = React__default.useRef(undefined);
2090
2164
  const [formState, updateFormState] = React__default.useState({
2091
2165
  isDirty: false,
2092
2166
  isValidating: false,
@@ -2107,20 +2181,22 @@ function useForm(props = {}) {
2107
2181
  });
2108
2182
  if (!_formControl.current) {
2109
2183
  _formControl.current = {
2110
- ...createFormControl(props),
2184
+ ...(props.formControl ? props.formControl : createFormControl(props)),
2111
2185
  formState,
2112
2186
  };
2187
+ if (props.formControl &&
2188
+ props.defaultValues &&
2189
+ !isFunction(props.defaultValues)) {
2190
+ props.formControl.reset(props.defaultValues, props.resetOptions);
2191
+ }
2113
2192
  }
2114
2193
  const control = _formControl.current.control;
2115
2194
  control._options = props;
2116
- useSubscribe({
2117
- subject: control._subjects.state,
2118
- next: (value) => {
2119
- if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {
2120
- updateFormState({ ...control._formState });
2121
- }
2122
- },
2123
- });
2195
+ React__default.useLayoutEffect(() => control._subscribe({
2196
+ formState: control._proxyFormState,
2197
+ callback: () => updateFormState({ ...control._formState }),
2198
+ reRenderRoot: true,
2199
+ }), [control]);
2124
2200
  React__default.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);
2125
2201
  React__default.useEffect(() => {
2126
2202
  if (control._proxyFormState.isDirty) {
@@ -2143,13 +2219,13 @@ function useForm(props = {}) {
2143
2219
  }
2144
2220
  }, [props.values, control]);
2145
2221
  React__default.useEffect(() => {
2146
- if (props.errors) {
2222
+ if (props.errors && !isEmptyObject(props.errors)) {
2147
2223
  control._setErrors(props.errors);
2148
2224
  }
2149
2225
  }, [props.errors, control]);
2150
2226
  React__default.useEffect(() => {
2151
2227
  if (!control._state.mount) {
2152
- control._updateValid();
2228
+ control._setValid();
2153
2229
  control._state.mount = true;
2154
2230
  }
2155
2231
  if (control._state.watch) {
@@ -2160,7 +2236,7 @@ function useForm(props = {}) {
2160
2236
  });
2161
2237
  React__default.useEffect(() => {
2162
2238
  props.shouldUnregister &&
2163
- control._subjects.values.next({
2239
+ control._subjects.state.next({
2164
2240
  values: control._getWatch(),
2165
2241
  });
2166
2242
  }, [props.shouldUnregister, control]);
@@ -2168,6 +2244,10 @@ function useForm(props = {}) {
2168
2244
  return _formControl.current;
2169
2245
  }
2170
2246
 
2247
+ var t=function(t,n,e){if(t&&"reportValidity"in t){var i=get(e,n);t.setCustomValidity(i&&i.message||""),t.reportValidity();}},n=function(r,n){var e=function(e){var i=n.fields[e];i&&i.ref&&"reportValidity"in i.ref?t(i.ref,e,r):i.refs&&i.refs.forEach(function(n){return t(n,e,r)});};for(var i in n.fields)e(i);},e=function(r){return r instanceof Date},i=function(r){return null==r},a=function(r){return "object"==typeof r},o$1=function(r){return !i(r)&&!Array.isArray(r)&&a(r)&&!e(r)},f=function(r){return /^\w*$/.test(r)},s$1=function(r,t,n){for(var e=-1,i=f(t)?[t]:function(r){return t=r.replace(/["|']|\]/g,"").split(/\.|\[/),Array.isArray(t)?t.filter(Boolean):[];var t;}(t),a=i.length,s=a-1;++e<a;){var u=i[e],c=n;if(e!==s){var l=r[u];c=o$1(l)||Array.isArray(l)?l:isNaN(+i[e+1])?{}:[];}r[u]=c,r=r[u];}return r},u=function(t,e){e.shouldUseNativeValidation&&n(t,e);var i={};for(var a in t){var o=get(e.fields,a),f=Object.assign(t[a]||{},{ref:o&&o.ref});if(c(e.names||Object.keys(t),a)){var u=Object.assign({},get(i,a));s$1(u,"root",f),s$1(i,a,u);}else s$1(i,a,f);}return i},c=function(r,t){return r.some(function(r){return r.startsWith(t+".")})};
2248
+
2249
+ function o(o,n$1,a){return void 0===n$1&&(n$1={}),void 0===a&&(a={}),function(s,i,c){try{return Promise.resolve(function(t,r){try{var u=(n$1.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(o["sync"===a.mode?"validateSync":"validate"](s,Object.assign({abortEarly:!1},n$1,{context:i}))).then(function(t){return c.shouldUseNativeValidation&&n({},c),{values:a.raw?s:t,errors:{}}}));}catch(e){return r(e)}return u&&u.then?u.then(void 0,r):u}(0,function(e){if(!e.inner)throw e;return {values:{},errors:u((o=e,n=!c.shouldUseNativeValidation&&"all"===c.criteriaMode,(o.inner||[]).reduce(function(e,t){if(e[t.path]||(e[t.path]={message:t.message,type:t.type}),n){var o=e[t.path].types,a=o&&o[t.type];e[t.path]=appendErrors(t.path,n,e,t.type,a?[].concat(a,t.message):t.message);}return e},{})),c)};var o,n;}))}catch(e){return Promise.reject(e)}}}
2250
+
2171
2251
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2172
2252
 
2173
2253
  function getDefaultExportFromCjs (x) {
@@ -8337,7 +8417,7 @@ var getDisplayName = /*#__PURE__*/Object.freeze({
8337
8417
 
8338
8418
  var require$$6 = /*@__PURE__*/getAugmentedNamespace(getDisplayName);
8339
8419
 
8340
- const _excluded$1G = ["values", "unit", "step"];
8420
+ const _excluded$1I = ["values", "unit", "step"];
8341
8421
  const sortBreakpointsValues = values => {
8342
8422
  const breakpointsAsArray = Object.keys(values).map(key => ({
8343
8423
  key,
@@ -8371,7 +8451,7 @@ function createBreakpoints(breakpoints) {
8371
8451
  unit = 'px',
8372
8452
  step = 5
8373
8453
  } = breakpoints,
8374
- other = _objectWithoutPropertiesLoose(breakpoints, _excluded$1G);
8454
+ other = _objectWithoutPropertiesLoose(breakpoints, _excluded$1I);
8375
8455
  const sortedValues = sortBreakpointsValues(values);
8376
8456
  const keys = Object.keys(sortedValues);
8377
8457
  function up(key) {
@@ -9515,7 +9595,7 @@ function applyStyles$2(key, styles) {
9515
9595
  return {};
9516
9596
  }
9517
9597
 
9518
- const _excluded$1F = ["breakpoints", "palette", "spacing", "shape"];
9598
+ const _excluded$1H = ["breakpoints", "palette", "spacing", "shape"];
9519
9599
  function createTheme$2(options = {}, ...args) {
9520
9600
  const {
9521
9601
  breakpoints: breakpointsInput = {},
@@ -9523,7 +9603,7 @@ function createTheme$2(options = {}, ...args) {
9523
9603
  spacing: spacingInput,
9524
9604
  shape: shapeInput = {}
9525
9605
  } = options,
9526
- other = _objectWithoutPropertiesLoose(options, _excluded$1F);
9606
+ other = _objectWithoutPropertiesLoose(options, _excluded$1H);
9527
9607
  const breakpoints = createBreakpoints(breakpointsInput);
9528
9608
  const spacing = createSpacing(spacingInput);
9529
9609
  let muiTheme = deepmerge$1({
@@ -9558,7 +9638,7 @@ var createTheme$1 = /*#__PURE__*/Object.freeze({
9558
9638
 
9559
9639
  var require$$7 = /*@__PURE__*/getAugmentedNamespace(createTheme$1);
9560
9640
 
9561
- const _excluded$1E = ["sx"];
9641
+ const _excluded$1G = ["sx"];
9562
9642
  const splitProps = props => {
9563
9643
  var _props$theme$unstable, _props$theme;
9564
9644
  const result = {
@@ -9579,7 +9659,7 @@ function extendSxProp(props) {
9579
9659
  const {
9580
9660
  sx: inSx
9581
9661
  } = props,
9582
- other = _objectWithoutPropertiesLoose(props, _excluded$1E);
9662
+ other = _objectWithoutPropertiesLoose(props, _excluded$1G);
9583
9663
  const {
9584
9664
  systemProps,
9585
9665
  otherProps
@@ -9628,7 +9708,7 @@ var _capitalize = _interopRequireDefault$6(require$$5);
9628
9708
  var _getDisplayName = _interopRequireDefault$6(require$$6);
9629
9709
  var _createTheme = _interopRequireDefault$6(require$$7);
9630
9710
  var _styleFunctionSx = _interopRequireDefault$6(require$$8);
9631
- const _excluded$1D = ["ownerState"],
9711
+ const _excluded$1F = ["ownerState"],
9632
9712
  _excluded2$g = ["variants"],
9633
9713
  _excluded3$7 = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
9634
9714
  /* eslint-disable no-underscore-dangle */
@@ -9675,7 +9755,7 @@ function processStyleArg$1(callableStyle, _ref) {
9675
9755
  let {
9676
9756
  ownerState
9677
9757
  } = _ref,
9678
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded$1D);
9758
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded$1F);
9679
9759
  const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle((0, _extends2.default)({
9680
9760
  ownerState
9681
9761
  }, props)) : callableStyle;
@@ -10425,7 +10505,7 @@ const green = {
10425
10505
  A700: '#00c853'
10426
10506
  };
10427
10507
 
10428
- const _excluded$1C = ["mode", "contrastThreshold", "tonalOffset"];
10508
+ const _excluded$1E = ["mode", "contrastThreshold", "tonalOffset"];
10429
10509
  const light = {
10430
10510
  // The colors used to style the text.
10431
10511
  text: {
@@ -10594,7 +10674,7 @@ function createPalette(palette) {
10594
10674
  contrastThreshold = 3,
10595
10675
  tonalOffset = 0.2
10596
10676
  } = palette,
10597
- other = _objectWithoutPropertiesLoose(palette, _excluded$1C);
10677
+ other = _objectWithoutPropertiesLoose(palette, _excluded$1E);
10598
10678
  const primary = palette.primary || getDefaultPrimary(mode);
10599
10679
  const secondary = palette.secondary || getDefaultSecondary(mode);
10600
10680
  const error = palette.error || getDefaultError(mode);
@@ -10718,7 +10798,7 @@ const theme2 = createTheme({ palette: {
10718
10798
  return paletteOutput;
10719
10799
  }
10720
10800
 
10721
- const _excluded$1B = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
10801
+ const _excluded$1D = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
10722
10802
  function round$2(value) {
10723
10803
  return Math.round(value * 1e5) / 1e5;
10724
10804
  }
@@ -10749,7 +10829,7 @@ function createTypography(palette, typography) {
10749
10829
  allVariants,
10750
10830
  pxToRem: pxToRem2
10751
10831
  } = _ref,
10752
- other = _objectWithoutPropertiesLoose(_ref, _excluded$1B);
10832
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$1D);
10753
10833
  if (process.env.NODE_ENV !== 'production') {
10754
10834
  if (typeof fontSize !== 'number') {
10755
10835
  console.error('MUI: `fontSize` is required to be a number.');
@@ -10816,7 +10896,7 @@ function createShadow(...px) {
10816
10896
  // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss
10817
10897
  const shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];
10818
10898
 
10819
- const _excluded$1A = ["duration", "easing", "delay"];
10899
+ const _excluded$1C = ["duration", "easing", "delay"];
10820
10900
  // Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves
10821
10901
  // to learn the context in which each easing should be used.
10822
10902
  const easing = {
@@ -10867,7 +10947,7 @@ function createTransitions(inputTransitions) {
10867
10947
  easing: easingOption = mergedEasing.easeInOut,
10868
10948
  delay = 0
10869
10949
  } = options,
10870
- other = _objectWithoutPropertiesLoose(options, _excluded$1A);
10950
+ other = _objectWithoutPropertiesLoose(options, _excluded$1C);
10871
10951
  if (process.env.NODE_ENV !== 'production') {
10872
10952
  const isString = value => typeof value === 'string';
10873
10953
  // IE11 support, replace with Number.isNaN
@@ -10916,7 +10996,7 @@ const zIndex = {
10916
10996
  tooltip: 1500
10917
10997
  };
10918
10998
 
10919
- const _excluded$1z = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
10999
+ const _excluded$1B = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
10920
11000
  function createTheme(options = {}, ...args) {
10921
11001
  const {
10922
11002
  mixins: mixinsInput = {},
@@ -10924,7 +11004,7 @@ function createTheme(options = {}, ...args) {
10924
11004
  transitions: transitionsInput = {},
10925
11005
  typography: typographyInput = {}
10926
11006
  } = options,
10927
- other = _objectWithoutPropertiesLoose(options, _excluded$1z);
11007
+ other = _objectWithoutPropertiesLoose(options, _excluded$1B);
10928
11008
  if (options.vars) {
10929
11009
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: \`vars\` is a private field used for CSS variables support.
10930
11010
  Please use another name.` : formatMuiErrorMessage$1(18));
@@ -11880,7 +11960,7 @@ function mergeSlotProps(parameters) {
11880
11960
  };
11881
11961
  }
11882
11962
 
11883
- const _excluded$1y = ["elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps"];
11963
+ const _excluded$1A = ["elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps"];
11884
11964
  /**
11885
11965
  * @ignore - do not document.
11886
11966
  * Builds the props to be passed into the slot of an unstyled component.
@@ -11897,7 +11977,7 @@ function useSlotProps(parameters) {
11897
11977
  ownerState,
11898
11978
  skipResolvingSlotProps = false
11899
11979
  } = parameters,
11900
- rest = _objectWithoutPropertiesLoose(parameters, _excluded$1y);
11980
+ rest = _objectWithoutPropertiesLoose(parameters, _excluded$1A);
11901
11981
  const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);
11902
11982
  const {
11903
11983
  props: mergedProps,
@@ -14716,7 +14796,7 @@ function getPopperUtilityClass(slot) {
14716
14796
  }
14717
14797
  generateUtilityClasses(COMPONENT_NAME, ['root']);
14718
14798
 
14719
- const _excluded$1x = ["anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "placement", "popperOptions", "popperRef", "slotProps", "slots", "TransitionProps", "ownerState"],
14799
+ const _excluded$1z = ["anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "placement", "popperOptions", "popperRef", "slotProps", "slots", "TransitionProps", "ownerState"],
14720
14800
  _excluded2$f = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition", "slotProps", "slots"];
14721
14801
  function flipPlacement(placement, direction) {
14722
14802
  if (direction === 'ltr') {
@@ -14744,7 +14824,7 @@ function isHTMLElement(element) {
14744
14824
  function isVirtualElement(element) {
14745
14825
  return !isHTMLElement(element);
14746
14826
  }
14747
- const useUtilityClasses$15 = () => {
14827
+ const useUtilityClasses$17 = () => {
14748
14828
  const slots = {
14749
14829
  root: ['root']
14750
14830
  };
@@ -14769,7 +14849,7 @@ const PopperTooltip = /*#__PURE__*/React$1.forwardRef(function PopperTooltip(pro
14769
14849
  // @ts-ignore internal logic
14770
14850
  // prevent from spreading to DOM, it can come from the parent component e.g. Select.
14771
14851
  } = props,
14772
- other = _objectWithoutPropertiesLoose(props, _excluded$1x);
14852
+ other = _objectWithoutPropertiesLoose(props, _excluded$1z);
14773
14853
  const tooltipRef = React$1.useRef(null);
14774
14854
  const ownRef = useForkRef(tooltipRef, forwardedRef);
14775
14855
  const popperRef = React$1.useRef(null);
@@ -14854,7 +14934,7 @@ const PopperTooltip = /*#__PURE__*/React$1.forwardRef(function PopperTooltip(pro
14854
14934
  if (TransitionProps !== null) {
14855
14935
  childProps.TransitionProps = TransitionProps;
14856
14936
  }
14857
- const classes = useUtilityClasses$15();
14937
+ const classes = useUtilityClasses$17();
14858
14938
  const Root = (_slots$root = slots.root) != null ? _slots$root : 'div';
14859
14939
  const rootProps = useSlotProps({
14860
14940
  elementType: Root,
@@ -15080,7 +15160,7 @@ process.env.NODE_ENV !== "production" ? Popper$1.propTypes /* remove-proptypes *
15080
15160
  transition: PropTypes.bool
15081
15161
  } : void 0;
15082
15162
 
15083
- const _excluded$1w = ["onChange", "maxRows", "minRows", "style", "value"];
15163
+ const _excluded$1y = ["onChange", "maxRows", "minRows", "style", "value"];
15084
15164
  function getStyleValue(value) {
15085
15165
  return parseInt(value, 10) || 0;
15086
15166
  }
@@ -15122,7 +15202,7 @@ const TextareaAutosize = /*#__PURE__*/React$1.forwardRef(function TextareaAutosi
15122
15202
  style,
15123
15203
  value
15124
15204
  } = props,
15125
- other = _objectWithoutPropertiesLoose(props, _excluded$1w);
15205
+ other = _objectWithoutPropertiesLoose(props, _excluded$1y);
15126
15206
  const {
15127
15207
  current: isControlled
15128
15208
  } = React$1.useRef(value != null);
@@ -16336,7 +16416,7 @@ process.env.NODE_ENV !== "production" ? GlobalStyles$1.propTypes /* remove-propt
16336
16416
  themeId: PropTypes.string
16337
16417
  } : void 0;
16338
16418
 
16339
- const _excluded$1v = ["className", "component"];
16419
+ const _excluded$1x = ["className", "component"];
16340
16420
  function createBox(options = {}) {
16341
16421
  const {
16342
16422
  themeId,
@@ -16354,7 +16434,7 @@ function createBox(options = {}) {
16354
16434
  className,
16355
16435
  component = 'div'
16356
16436
  } = _extendSxProp,
16357
- other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$1v);
16437
+ other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded$1x);
16358
16438
  return /*#__PURE__*/jsxRuntimeExports.jsx(BoxRoot, _extends$1({
16359
16439
  as: component,
16360
16440
  ref: ref,
@@ -16365,7 +16445,7 @@ function createBox(options = {}) {
16365
16445
  return Box;
16366
16446
  }
16367
16447
 
16368
- const _excluded$1u = ["ownerState"],
16448
+ const _excluded$1w = ["ownerState"],
16369
16449
  _excluded2$e = ["variants"],
16370
16450
  _excluded3$6 = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
16371
16451
  function isEmpty$2(obj) {
@@ -16409,7 +16489,7 @@ function processStyleArg(callableStyle, _ref) {
16409
16489
  let {
16410
16490
  ownerState
16411
16491
  } = _ref,
16412
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1u);
16492
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1w);
16413
16493
  const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle(_extends$1({
16414
16494
  ownerState
16415
16495
  }, props)) : callableStyle;
@@ -17054,13 +17134,13 @@ if (process.env.NODE_ENV !== 'production') {
17054
17134
  process.env.NODE_ENV !== "production" ? ThemeProvider$2.propTypes = exactProp(ThemeProvider$2.propTypes) : void 0;
17055
17135
  }
17056
17136
 
17057
- const _excluded$1t = ["value"];
17137
+ const _excluded$1v = ["value"];
17058
17138
  const RtlContext = /*#__PURE__*/React$1.createContext();
17059
17139
  function RtlProvider(_ref) {
17060
17140
  let {
17061
17141
  value
17062
17142
  } = _ref,
17063
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1t);
17143
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1v);
17064
17144
  return /*#__PURE__*/jsxRuntimeExports.jsx(RtlContext.Provider, _extends$1({
17065
17145
  value: value != null ? value : true
17066
17146
  }, props));
@@ -17421,7 +17501,7 @@ function useCurrentColorScheme(options) {
17421
17501
  });
17422
17502
  }
17423
17503
 
17424
- const _excluded$1s = ["colorSchemes", "components", "generateCssVars", "cssVarPrefix"];
17504
+ const _excluded$1u = ["colorSchemes", "components", "generateCssVars", "cssVarPrefix"];
17425
17505
  const DISABLE_CSS_TRANSITION = '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';
17426
17506
  function createCssVarsProvider(options) {
17427
17507
  const {
@@ -17488,7 +17568,7 @@ function createCssVarsProvider(options) {
17488
17568
  }),
17489
17569
  cssVarPrefix
17490
17570
  } = _ref,
17491
- restThemeProp = _objectWithoutPropertiesLoose(_ref, _excluded$1s);
17571
+ restThemeProp = _objectWithoutPropertiesLoose(_ref, _excluded$1u);
17492
17572
  const allColorSchemes = Object.keys(colorSchemes);
17493
17573
  const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
17494
17574
  const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
@@ -17933,14 +18013,14 @@ function toPropertyKey(t) {
17933
18013
  return "symbol" == _typeof$1(i) ? i : i + "";
17934
18014
  }
17935
18015
 
17936
- const _excluded$1r = ["colorSchemes", "components", "defaultColorScheme"];
18016
+ const _excluded$1t = ["colorSchemes", "components", "defaultColorScheme"];
17937
18017
  function prepareCssVars(theme, parserConfig) {
17938
18018
  // @ts-ignore - ignore components do not exist
17939
18019
  const {
17940
18020
  colorSchemes = {},
17941
18021
  defaultColorScheme = 'light'
17942
18022
  } = theme,
17943
- otherTheme = _objectWithoutPropertiesLoose(theme, _excluded$1r);
18023
+ otherTheme = _objectWithoutPropertiesLoose(theme, _excluded$1t);
17944
18024
  const {
17945
18025
  vars: rootVars,
17946
18026
  css: rootCss,
@@ -18001,7 +18081,7 @@ function prepareCssVars(theme, parserConfig) {
18001
18081
  };
18002
18082
  }
18003
18083
 
18004
- const _excluded$1q = ["className", "component", "disableGutters", "fixed", "maxWidth", "classes"];
18084
+ const _excluded$1s = ["className", "component", "disableGutters", "fixed", "maxWidth", "classes"];
18005
18085
  const defaultTheme$3 = createTheme$2();
18006
18086
  const defaultCreateStyledComponent$1 = styled('div', {
18007
18087
  name: 'MuiContainer',
@@ -18018,7 +18098,7 @@ const useThemePropsDefault$1 = inProps => useThemeProps$2({
18018
18098
  name: 'MuiContainer',
18019
18099
  defaultTheme: defaultTheme$3
18020
18100
  });
18021
- const useUtilityClasses$14 = (ownerState, componentName) => {
18101
+ const useUtilityClasses$16 = (ownerState, componentName) => {
18022
18102
  const getContainerUtilityClass = slot => {
18023
18103
  return generateUtilityClass$1(componentName, slot);
18024
18104
  };
@@ -18097,7 +18177,7 @@ function createContainer(options = {}) {
18097
18177
  fixed = false,
18098
18178
  maxWidth = 'lg'
18099
18179
  } = props,
18100
- other = _objectWithoutPropertiesLoose(props, _excluded$1q);
18180
+ other = _objectWithoutPropertiesLoose(props, _excluded$1s);
18101
18181
  const ownerState = _extends$1({}, props, {
18102
18182
  component,
18103
18183
  disableGutters,
@@ -18106,7 +18186,7 @@ function createContainer(options = {}) {
18106
18186
  });
18107
18187
 
18108
18188
  // @ts-ignore module augmentation fails if custom breakpoints are used
18109
- const classes = useUtilityClasses$14(ownerState, componentName);
18189
+ const classes = useUtilityClasses$16(ownerState, componentName);
18110
18190
  return (
18111
18191
  /*#__PURE__*/
18112
18192
  // @ts-ignore theme is injected by the styled util
@@ -18133,7 +18213,7 @@ function createContainer(options = {}) {
18133
18213
  return Container;
18134
18214
  }
18135
18215
 
18136
- const _excluded$1p = ["component", "direction", "spacing", "divider", "children", "className", "useFlexGap"];
18216
+ const _excluded$1r = ["component", "direction", "spacing", "divider", "children", "className", "useFlexGap"];
18137
18217
  const defaultTheme$2 = createTheme$2();
18138
18218
  // widening Theme to any so that the consumer can own the theme structure.
18139
18219
  const defaultCreateStyledComponent = styled('div', {
@@ -18266,7 +18346,7 @@ function createStack(options = {}) {
18266
18346
  className,
18267
18347
  useFlexGap = false
18268
18348
  } = props,
18269
- other = _objectWithoutPropertiesLoose(props, _excluded$1p);
18349
+ other = _objectWithoutPropertiesLoose(props, _excluded$1r);
18270
18350
  const ownerState = {
18271
18351
  direction,
18272
18352
  spacing,
@@ -18345,7 +18425,7 @@ function getInputBaseUtilityClass(slot) {
18345
18425
  }
18346
18426
  const inputBaseClasses = generateUtilityClasses$1('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);
18347
18427
 
18348
- const _excluded$1o = ["aria-describedby", "autoComplete", "autoFocus", "className", "color", "components", "componentsProps", "defaultValue", "disabled", "disableInjectingGlobalStyles", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "size", "slotProps", "slots", "startAdornment", "type", "value"];
18428
+ const _excluded$1q = ["aria-describedby", "autoComplete", "autoFocus", "className", "color", "components", "componentsProps", "defaultValue", "disabled", "disableInjectingGlobalStyles", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "size", "slotProps", "slots", "startAdornment", "type", "value"];
18349
18429
  const rootOverridesResolver = (props, styles) => {
18350
18430
  const {
18351
18431
  ownerState
@@ -18358,7 +18438,7 @@ const inputOverridesResolver = (props, styles) => {
18358
18438
  } = props;
18359
18439
  return [styles.input, ownerState.size === 'small' && styles.inputSizeSmall, ownerState.multiline && styles.inputMultiline, ownerState.type === 'search' && styles.inputTypeSearch, ownerState.startAdornment && styles.inputAdornedStart, ownerState.endAdornment && styles.inputAdornedEnd, ownerState.hiddenLabel && styles.inputHiddenLabel];
18360
18440
  };
18361
- const useUtilityClasses$13 = ownerState => {
18441
+ const useUtilityClasses$15 = ownerState => {
18362
18442
  const {
18363
18443
  classes,
18364
18444
  color,
@@ -18574,7 +18654,7 @@ const InputBase = /*#__PURE__*/React$1.forwardRef(function InputBase(inProps, re
18574
18654
  type = 'text',
18575
18655
  value: valueProp
18576
18656
  } = props,
18577
- other = _objectWithoutPropertiesLoose(props, _excluded$1o);
18657
+ other = _objectWithoutPropertiesLoose(props, _excluded$1q);
18578
18658
  const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;
18579
18659
  const {
18580
18660
  current: isControlled
@@ -18748,7 +18828,7 @@ const InputBase = /*#__PURE__*/React$1.forwardRef(function InputBase(inProps, re
18748
18828
  startAdornment,
18749
18829
  type
18750
18830
  });
18751
- const classes = useUtilityClasses$13(ownerState);
18831
+ const classes = useUtilityClasses$15(ownerState);
18752
18832
  const Root = slots.root || components.Root || InputBaseRoot;
18753
18833
  const rootProps = slotProps.root || componentsProps.root || {};
18754
18834
  const Input = slots.input || components.Input || InputBaseComponent;
@@ -19035,8 +19115,8 @@ function getInputUtilityClass(slot) {
19035
19115
  }
19036
19116
  const inputClasses = _extends$1({}, inputBaseClasses, generateUtilityClasses$1('MuiInput', ['root', 'underline', 'input']));
19037
19117
 
19038
- const _excluded$1n = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
19039
- const useUtilityClasses$12 = ownerState => {
19118
+ const _excluded$1p = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"];
19119
+ const useUtilityClasses$14 = ownerState => {
19040
19120
  const {
19041
19121
  classes,
19042
19122
  disableUnderline
@@ -19146,8 +19226,8 @@ const Input = /*#__PURE__*/React$1.forwardRef(function Input(inProps, ref) {
19146
19226
  slots = {},
19147
19227
  type = 'text'
19148
19228
  } = props,
19149
- other = _objectWithoutPropertiesLoose(props, _excluded$1n);
19150
- const classes = useUtilityClasses$12(props);
19229
+ other = _objectWithoutPropertiesLoose(props, _excluded$1p);
19230
+ const classes = useUtilityClasses$14(props);
19151
19231
  const ownerState = {
19152
19232
  disableUnderline
19153
19233
  };
@@ -19367,8 +19447,8 @@ function getFilledInputUtilityClass(slot) {
19367
19447
  }
19368
19448
  const filledInputClasses = _extends$1({}, inputBaseClasses, generateUtilityClasses$1('MuiFilledInput', ['root', 'underline', 'input']));
19369
19449
 
19370
- const _excluded$1m = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
19371
- const useUtilityClasses$11 = ownerState => {
19450
+ const _excluded$1o = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"];
19451
+ const useUtilityClasses$13 = ownerState => {
19372
19452
  const {
19373
19453
  classes,
19374
19454
  disableUnderline
@@ -19552,14 +19632,14 @@ const FilledInput = /*#__PURE__*/React$1.forwardRef(function FilledInput(inProps
19552
19632
  slots = {},
19553
19633
  type = 'text'
19554
19634
  } = props,
19555
- other = _objectWithoutPropertiesLoose(props, _excluded$1m);
19635
+ other = _objectWithoutPropertiesLoose(props, _excluded$1o);
19556
19636
  const ownerState = _extends$1({}, props, {
19557
19637
  fullWidth,
19558
19638
  inputComponent,
19559
19639
  multiline,
19560
19640
  type
19561
19641
  });
19562
- const classes = useUtilityClasses$11(props);
19642
+ const classes = useUtilityClasses$13(props);
19563
19643
  const filledInputComponentsProps = {
19564
19644
  root: {
19565
19645
  ownerState
@@ -19782,7 +19862,7 @@ process.env.NODE_ENV !== "production" ? FilledInput.propTypes /* remove-proptype
19782
19862
  FilledInput.muiName = 'Input';
19783
19863
 
19784
19864
  var _span$3;
19785
- const _excluded$1l = ["children", "classes", "className", "label", "notched"];
19865
+ const _excluded$1n = ["children", "classes", "className", "label", "notched"];
19786
19866
  const NotchedOutlineRoot$1 = styled$1('fieldset', {
19787
19867
  shouldForwardProp: rootShouldForwardProp
19788
19868
  })({
@@ -19859,7 +19939,7 @@ function NotchedOutline(props) {
19859
19939
  label,
19860
19940
  notched
19861
19941
  } = props,
19862
- other = _objectWithoutPropertiesLoose(props, _excluded$1l);
19942
+ other = _objectWithoutPropertiesLoose(props, _excluded$1n);
19863
19943
  const withLabel = label != null && label !== '';
19864
19944
  const ownerState = _extends$1({}, props, {
19865
19945
  notched,
@@ -19914,8 +19994,8 @@ function getOutlinedInputUtilityClass(slot) {
19914
19994
  }
19915
19995
  const outlinedInputClasses = _extends$1({}, inputBaseClasses, generateUtilityClasses$1('MuiOutlinedInput', ['root', 'notchedOutline', 'input']));
19916
19996
 
19917
- const _excluded$1k = ["components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type"];
19918
- const useUtilityClasses$10 = ownerState => {
19997
+ const _excluded$1m = ["components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type"];
19998
+ const useUtilityClasses$12 = ownerState => {
19919
19999
  const {
19920
20000
  classes
19921
20001
  } = ownerState;
@@ -20033,8 +20113,8 @@ const OutlinedInput = /*#__PURE__*/React$1.forwardRef(function OutlinedInput(inP
20033
20113
  slots = {},
20034
20114
  type = 'text'
20035
20115
  } = props,
20036
- other = _objectWithoutPropertiesLoose(props, _excluded$1k);
20037
- const classes = useUtilityClasses$10(props);
20116
+ other = _objectWithoutPropertiesLoose(props, _excluded$1m);
20117
+ const classes = useUtilityClasses$12(props);
20038
20118
  const muiFormControl = useFormControl();
20039
20119
  const fcs = formControlState({
20040
20120
  props,
@@ -20252,8 +20332,8 @@ function getFormLabelUtilityClasses(slot) {
20252
20332
  }
20253
20333
  const formLabelClasses = generateUtilityClasses$1('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);
20254
20334
 
20255
- const _excluded$1j = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
20256
- const useUtilityClasses$$ = ownerState => {
20335
+ const _excluded$1l = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"];
20336
+ const useUtilityClasses$11 = ownerState => {
20257
20337
  const {
20258
20338
  classes,
20259
20339
  color,
@@ -20317,7 +20397,7 @@ const FormLabel = /*#__PURE__*/React$1.forwardRef(function FormLabel(inProps, re
20317
20397
  className,
20318
20398
  component = 'label'
20319
20399
  } = props,
20320
- other = _objectWithoutPropertiesLoose(props, _excluded$1j);
20400
+ other = _objectWithoutPropertiesLoose(props, _excluded$1l);
20321
20401
  const muiFormControl = useFormControl();
20322
20402
  const fcs = formControlState({
20323
20403
  props,
@@ -20333,7 +20413,7 @@ const FormLabel = /*#__PURE__*/React$1.forwardRef(function FormLabel(inProps, re
20333
20413
  focused: fcs.focused,
20334
20414
  required: fcs.required
20335
20415
  });
20336
- const classes = useUtilityClasses$$(ownerState);
20416
+ const classes = useUtilityClasses$11(ownerState);
20337
20417
  return /*#__PURE__*/jsxRuntimeExports.jsxs(FormLabelRoot, _extends$1({
20338
20418
  as: component,
20339
20419
  ownerState: ownerState,
@@ -20407,8 +20487,8 @@ function getInputLabelUtilityClasses(slot) {
20407
20487
  }
20408
20488
  generateUtilityClasses$1('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);
20409
20489
 
20410
- const _excluded$1i = ["disableAnimation", "margin", "shrink", "variant", "className"];
20411
- const useUtilityClasses$_ = ownerState => {
20490
+ const _excluded$1k = ["disableAnimation", "margin", "shrink", "variant", "className"];
20491
+ const useUtilityClasses$10 = ownerState => {
20412
20492
  const {
20413
20493
  classes,
20414
20494
  formControl,
@@ -20509,7 +20589,7 @@ const InputLabel = /*#__PURE__*/React$1.forwardRef(function InputLabel(inProps,
20509
20589
  shrink: shrinkProp,
20510
20590
  className
20511
20591
  } = props,
20512
- other = _objectWithoutPropertiesLoose(props, _excluded$1i);
20592
+ other = _objectWithoutPropertiesLoose(props, _excluded$1k);
20513
20593
  const muiFormControl = useFormControl();
20514
20594
  let shrink = shrinkProp;
20515
20595
  if (typeof shrink === 'undefined' && muiFormControl) {
@@ -20529,7 +20609,7 @@ const InputLabel = /*#__PURE__*/React$1.forwardRef(function InputLabel(inProps,
20529
20609
  required: fcs.required,
20530
20610
  focused: fcs.focused
20531
20611
  });
20532
- const classes = useUtilityClasses$_(ownerState);
20612
+ const classes = useUtilityClasses$10(ownerState);
20533
20613
  return /*#__PURE__*/jsxRuntimeExports.jsx(InputLabelRoot, _extends$1({
20534
20614
  "data-shrink": shrink,
20535
20615
  ownerState: ownerState,
@@ -20612,8 +20692,8 @@ function getFormControlUtilityClasses(slot) {
20612
20692
  }
20613
20693
  generateUtilityClasses$1('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);
20614
20694
 
20615
- const _excluded$1h = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
20616
- const useUtilityClasses$Z = ownerState => {
20695
+ const _excluded$1j = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"];
20696
+ const useUtilityClasses$$ = ownerState => {
20617
20697
  const {
20618
20698
  classes,
20619
20699
  margin,
@@ -20698,7 +20778,7 @@ const FormControl = /*#__PURE__*/React$1.forwardRef(function FormControl(inProps
20698
20778
  size = 'medium',
20699
20779
  variant = 'outlined'
20700
20780
  } = props,
20701
- other = _objectWithoutPropertiesLoose(props, _excluded$1h);
20781
+ other = _objectWithoutPropertiesLoose(props, _excluded$1j);
20702
20782
  const ownerState = _extends$1({}, props, {
20703
20783
  color,
20704
20784
  component,
@@ -20711,7 +20791,7 @@ const FormControl = /*#__PURE__*/React$1.forwardRef(function FormControl(inProps
20711
20791
  size,
20712
20792
  variant
20713
20793
  });
20714
- const classes = useUtilityClasses$Z(ownerState);
20794
+ const classes = useUtilityClasses$$(ownerState);
20715
20795
  const [adornedStart, setAdornedStart] = React$1.useState(() => {
20716
20796
  // We need to iterate through the children and find the Input in order
20717
20797
  // to fully support server-side rendering.
@@ -20892,8 +20972,8 @@ function getFormHelperTextUtilityClasses(slot) {
20892
20972
  const formHelperTextClasses = generateUtilityClasses$1('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);
20893
20973
 
20894
20974
  var _span$2;
20895
- const _excluded$1g = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
20896
- const useUtilityClasses$Y = ownerState => {
20975
+ const _excluded$1i = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"];
20976
+ const useUtilityClasses$_ = ownerState => {
20897
20977
  const {
20898
20978
  classes,
20899
20979
  contained,
@@ -20951,7 +21031,7 @@ const FormHelperText = /*#__PURE__*/React$1.forwardRef(function FormHelperText(i
20951
21031
  className,
20952
21032
  component = 'p'
20953
21033
  } = props,
20954
- other = _objectWithoutPropertiesLoose(props, _excluded$1g);
21034
+ other = _objectWithoutPropertiesLoose(props, _excluded$1i);
20955
21035
  const muiFormControl = useFormControl();
20956
21036
  const fcs = formControlState({
20957
21037
  props,
@@ -20969,7 +21049,7 @@ const FormHelperText = /*#__PURE__*/React$1.forwardRef(function FormHelperText(i
20969
21049
  focused: fcs.focused,
20970
21050
  required: fcs.required
20971
21051
  });
20972
- const classes = useUtilityClasses$Y(ownerState);
21052
+ const classes = useUtilityClasses$_(ownerState);
20973
21053
  return /*#__PURE__*/jsxRuntimeExports.jsx(FormHelperTextRoot, _extends$1({
20974
21054
  as: component,
20975
21055
  ownerState: ownerState,
@@ -21319,8 +21399,8 @@ function getListUtilityClass(slot) {
21319
21399
  }
21320
21400
  generateUtilityClasses$1('MuiList', ['root', 'padding', 'dense', 'subheader']);
21321
21401
 
21322
- const _excluded$1f = ["children", "className", "component", "dense", "disablePadding", "subheader"];
21323
- const useUtilityClasses$X = ownerState => {
21402
+ const _excluded$1h = ["children", "className", "component", "dense", "disablePadding", "subheader"];
21403
+ const useUtilityClasses$Z = ownerState => {
21324
21404
  const {
21325
21405
  classes,
21326
21406
  disablePadding,
@@ -21367,7 +21447,7 @@ const List = /*#__PURE__*/React$1.forwardRef(function List(inProps, ref) {
21367
21447
  disablePadding = false,
21368
21448
  subheader
21369
21449
  } = props,
21370
- other = _objectWithoutPropertiesLoose(props, _excluded$1f);
21450
+ other = _objectWithoutPropertiesLoose(props, _excluded$1h);
21371
21451
  const context = React$1.useMemo(() => ({
21372
21452
  dense
21373
21453
  }), [dense]);
@@ -21376,7 +21456,7 @@ const List = /*#__PURE__*/React$1.forwardRef(function List(inProps, ref) {
21376
21456
  dense,
21377
21457
  disablePadding
21378
21458
  });
21379
- const classes = useUtilityClasses$X(ownerState);
21459
+ const classes = useUtilityClasses$Z(ownerState);
21380
21460
  return /*#__PURE__*/jsxRuntimeExports.jsx(ListContext.Provider, {
21381
21461
  value: context,
21382
21462
  children: /*#__PURE__*/jsxRuntimeExports.jsxs(ListRoot, _extends$1({
@@ -21433,7 +21513,7 @@ process.env.NODE_ENV !== "production" ? List.propTypes /* remove-proptypes */ =
21433
21513
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
21434
21514
  } : void 0;
21435
21515
 
21436
- const _excluded$1e = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"];
21516
+ const _excluded$1g = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"];
21437
21517
  function nextItem(list, item, disableListWrap) {
21438
21518
  if (list === item) {
21439
21519
  return list.firstChild;
@@ -21515,7 +21595,7 @@ const MenuList = /*#__PURE__*/React$1.forwardRef(function MenuList(props, ref) {
21515
21595
  onKeyDown,
21516
21596
  variant = 'selectedMenu'
21517
21597
  } = props,
21518
- other = _objectWithoutPropertiesLoose(props, _excluded$1e);
21598
+ other = _objectWithoutPropertiesLoose(props, _excluded$1g);
21519
21599
  const listRef = React$1.useRef(null);
21520
21600
  const textCriteriaRef = React$1.useRef({
21521
21601
  keys: [],
@@ -23151,7 +23231,7 @@ function getTransitionProps(props, options) {
23151
23231
  };
23152
23232
  }
23153
23233
 
23154
- const _excluded$1d = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
23234
+ const _excluded$1f = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
23155
23235
  function getScale(value) {
23156
23236
  return `scale(${value}, ${value ** 2})`;
23157
23237
  }
@@ -23195,7 +23275,7 @@ const Grow = /*#__PURE__*/React$1.forwardRef(function Grow(props, ref) {
23195
23275
  // eslint-disable-next-line react/prop-types
23196
23276
  TransitionComponent = Transition
23197
23277
  } = props,
23198
- other = _objectWithoutPropertiesLoose(props, _excluded$1d);
23278
+ other = _objectWithoutPropertiesLoose(props, _excluded$1f);
23199
23279
  const timer = useTimeout();
23200
23280
  const autoTimeout = React$1.useRef();
23201
23281
  const theme = useTheme$2();
@@ -23393,7 +23473,7 @@ process.env.NODE_ENV !== "production" ? Grow.propTypes /* remove-proptypes */ =
23393
23473
  } : void 0;
23394
23474
  Grow.muiSupportAuto = true;
23395
23475
 
23396
- const _excluded$1c = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
23476
+ const _excluded$1e = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
23397
23477
  const styles = {
23398
23478
  entering: {
23399
23479
  opacity: 1
@@ -23430,7 +23510,7 @@ const Fade = /*#__PURE__*/React$1.forwardRef(function Fade(props, ref) {
23430
23510
  // eslint-disable-next-line react/prop-types
23431
23511
  TransitionComponent = Transition
23432
23512
  } = props,
23433
- other = _objectWithoutPropertiesLoose(props, _excluded$1c);
23513
+ other = _objectWithoutPropertiesLoose(props, _excluded$1e);
23434
23514
  const nodeRef = React$1.useRef(null);
23435
23515
  const handleRef = useForkRef(nodeRef, children.ref, ref);
23436
23516
  const normalizedTransitionCallback = callback => maybeIsAppearing => {
@@ -23590,8 +23670,8 @@ function getBackdropUtilityClass(slot) {
23590
23670
  }
23591
23671
  generateUtilityClasses$1('MuiBackdrop', ['root', 'invisible']);
23592
23672
 
23593
- const _excluded$1b = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
23594
- const useUtilityClasses$W = ownerState => {
23673
+ const _excluded$1d = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
23674
+ const useUtilityClasses$Y = ownerState => {
23595
23675
  const {
23596
23676
  classes,
23597
23677
  invisible
@@ -23645,12 +23725,12 @@ const Backdrop = /*#__PURE__*/React$1.forwardRef(function Backdrop(inProps, ref)
23645
23725
  TransitionComponent = Fade,
23646
23726
  transitionDuration
23647
23727
  } = props,
23648
- other = _objectWithoutPropertiesLoose(props, _excluded$1b);
23728
+ other = _objectWithoutPropertiesLoose(props, _excluded$1d);
23649
23729
  const ownerState = _extends$1({}, props, {
23650
23730
  component,
23651
23731
  invisible
23652
23732
  });
23653
- const classes = useUtilityClasses$W(ownerState);
23733
+ const classes = useUtilityClasses$Y(ownerState);
23654
23734
  const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;
23655
23735
  return /*#__PURE__*/jsxRuntimeExports.jsx(TransitionComponent, _extends$1({
23656
23736
  in: open,
@@ -23770,8 +23850,8 @@ function getModalUtilityClass(slot) {
23770
23850
  }
23771
23851
  generateUtilityClasses$1('MuiModal', ['root', 'hidden', 'backdrop']);
23772
23852
 
23773
- const _excluded$1a = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "open", "slotProps", "slots", "theme"];
23774
- const useUtilityClasses$V = ownerState => {
23853
+ const _excluded$1c = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "open", "slotProps", "slots", "theme"];
23854
+ const useUtilityClasses$X = ownerState => {
23775
23855
  const {
23776
23856
  open,
23777
23857
  exited,
@@ -23858,7 +23938,7 @@ const Modal = /*#__PURE__*/React$1.forwardRef(function Modal(inProps, ref) {
23858
23938
  slots
23859
23939
  // eslint-disable-next-line react/prop-types
23860
23940
  } = props,
23861
- other = _objectWithoutPropertiesLoose(props, _excluded$1a);
23941
+ other = _objectWithoutPropertiesLoose(props, _excluded$1c);
23862
23942
  const propsWithDefaults = _extends$1({}, props, {
23863
23943
  closeAfterTransition,
23864
23944
  disableAutoFocus,
@@ -23884,7 +23964,7 @@ const Modal = /*#__PURE__*/React$1.forwardRef(function Modal(inProps, ref) {
23884
23964
  const ownerState = _extends$1({}, propsWithDefaults, {
23885
23965
  exited
23886
23966
  });
23887
- const classes = useUtilityClasses$V(ownerState);
23967
+ const classes = useUtilityClasses$X(ownerState);
23888
23968
  const childProps = {};
23889
23969
  if (children.props.tabIndex === undefined) {
23890
23970
  childProps.tabIndex = '-1';
@@ -24152,8 +24232,8 @@ function getPaperUtilityClass(slot) {
24152
24232
  }
24153
24233
  generateUtilityClasses$1('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);
24154
24234
 
24155
- const _excluded$19 = ["className", "component", "elevation", "square", "variant"];
24156
- const useUtilityClasses$U = ownerState => {
24235
+ const _excluded$1b = ["className", "component", "elevation", "square", "variant"];
24236
+ const useUtilityClasses$W = ownerState => {
24157
24237
  const {
24158
24238
  square,
24159
24239
  elevation,
@@ -24207,14 +24287,14 @@ const Paper = /*#__PURE__*/React$1.forwardRef(function Paper(inProps, ref) {
24207
24287
  square = false,
24208
24288
  variant = 'elevation'
24209
24289
  } = props,
24210
- other = _objectWithoutPropertiesLoose(props, _excluded$19);
24290
+ other = _objectWithoutPropertiesLoose(props, _excluded$1b);
24211
24291
  const ownerState = _extends$1({}, props, {
24212
24292
  component,
24213
24293
  elevation,
24214
24294
  square,
24215
24295
  variant
24216
24296
  });
24217
- const classes = useUtilityClasses$U(ownerState);
24297
+ const classes = useUtilityClasses$W(ownerState);
24218
24298
  if (process.env.NODE_ENV !== 'production') {
24219
24299
  // eslint-disable-next-line react-hooks/rules-of-hooks
24220
24300
  const theme = useTheme$2();
@@ -24287,7 +24367,7 @@ function getPopoverUtilityClass(slot) {
24287
24367
  }
24288
24368
  generateUtilityClasses$1('MuiPopover', ['root', 'paper']);
24289
24369
 
24290
- const _excluded$18 = ["onEntering"],
24370
+ const _excluded$1a = ["onEntering"],
24291
24371
  _excluded2$d = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps", "disableScrollLock"],
24292
24372
  _excluded3$5 = ["slotProps"];
24293
24373
  function getOffsetTop(rect, vertical) {
@@ -24318,7 +24398,7 @@ function getTransformOriginValue(transformOrigin) {
24318
24398
  function resolveAnchorEl(anchorEl) {
24319
24399
  return typeof anchorEl === 'function' ? anchorEl() : anchorEl;
24320
24400
  }
24321
- const useUtilityClasses$T = ownerState => {
24401
+ const useUtilityClasses$V = ownerState => {
24322
24402
  const {
24323
24403
  classes
24324
24404
  } = ownerState;
@@ -24385,7 +24465,7 @@ const Popover = /*#__PURE__*/React$1.forwardRef(function Popover(inProps, ref) {
24385
24465
  } = {},
24386
24466
  disableScrollLock = false
24387
24467
  } = props,
24388
- TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded$18),
24468
+ TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded$1a),
24389
24469
  other = _objectWithoutPropertiesLoose(props, _excluded2$d);
24390
24470
  const externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp;
24391
24471
  const paperRef = React$1.useRef();
@@ -24401,7 +24481,7 @@ const Popover = /*#__PURE__*/React$1.forwardRef(function Popover(inProps, ref) {
24401
24481
  transitionDuration: transitionDurationProp,
24402
24482
  TransitionProps
24403
24483
  });
24404
- const classes = useUtilityClasses$T(ownerState);
24484
+ const classes = useUtilityClasses$V(ownerState);
24405
24485
 
24406
24486
  // Returns the top/left offset of the position
24407
24487
  // to attach to on the anchor element (or body if none is provided)
@@ -24803,7 +24883,7 @@ function getMenuUtilityClass(slot) {
24803
24883
  }
24804
24884
  generateUtilityClasses$1('MuiMenu', ['root', 'paper', 'list']);
24805
24885
 
24806
- const _excluded$17 = ["onEntering"],
24886
+ const _excluded$19 = ["onEntering"],
24807
24887
  _excluded2$c = ["autoFocus", "children", "className", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "TransitionProps", "variant", "slots", "slotProps"];
24808
24888
  const RTL_ORIGIN = {
24809
24889
  vertical: 'top',
@@ -24813,7 +24893,7 @@ const LTR_ORIGIN = {
24813
24893
  vertical: 'top',
24814
24894
  horizontal: 'left'
24815
24895
  };
24816
- const useUtilityClasses$S = ownerState => {
24896
+ const useUtilityClasses$U = ownerState => {
24817
24897
  const {
24818
24898
  classes
24819
24899
  } = ownerState;
@@ -24874,7 +24954,7 @@ const Menu$1 = /*#__PURE__*/React$1.forwardRef(function Menu(inProps, ref) {
24874
24954
  slots = {},
24875
24955
  slotProps = {}
24876
24956
  } = props,
24877
- TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded$17),
24957
+ TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded$19),
24878
24958
  other = _objectWithoutPropertiesLoose(props, _excluded2$c);
24879
24959
  const isRtl = useRtl();
24880
24960
  const ownerState = _extends$1({}, props, {
@@ -24887,7 +24967,7 @@ const Menu$1 = /*#__PURE__*/React$1.forwardRef(function Menu(inProps, ref) {
24887
24967
  TransitionProps,
24888
24968
  variant
24889
24969
  });
24890
- const classes = useUtilityClasses$S(ownerState);
24970
+ const classes = useUtilityClasses$U(ownerState);
24891
24971
  const autoFocusItem = autoFocus && !disableAutoFocusItem && open;
24892
24972
  const menuListActionsRef = React$1.useRef(null);
24893
24973
  const handleEntering = (element, isAppearing) => {
@@ -25097,8 +25177,8 @@ function getNativeSelectUtilityClasses(slot) {
25097
25177
  }
25098
25178
  const nativeSelectClasses = generateUtilityClasses$1('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);
25099
25179
 
25100
- const _excluded$16 = ["className", "disabled", "error", "IconComponent", "inputRef", "variant"];
25101
- const useUtilityClasses$R = ownerState => {
25180
+ const _excluded$18 = ["className", "disabled", "error", "IconComponent", "inputRef", "variant"];
25181
+ const useUtilityClasses$T = ownerState => {
25102
25182
  const {
25103
25183
  classes,
25104
25184
  variant,
@@ -25224,13 +25304,13 @@ const NativeSelectInput = /*#__PURE__*/React$1.forwardRef(function NativeSelectI
25224
25304
  inputRef,
25225
25305
  variant = 'standard'
25226
25306
  } = props,
25227
- other = _objectWithoutPropertiesLoose(props, _excluded$16);
25307
+ other = _objectWithoutPropertiesLoose(props, _excluded$18);
25228
25308
  const ownerState = _extends$1({}, props, {
25229
25309
  disabled,
25230
25310
  variant,
25231
25311
  error
25232
25312
  });
25233
- const classes = useUtilityClasses$R(ownerState);
25313
+ const classes = useUtilityClasses$T(ownerState);
25234
25314
  return /*#__PURE__*/jsxRuntimeExports.jsxs(React$1.Fragment, {
25235
25315
  children: [/*#__PURE__*/jsxRuntimeExports.jsx(NativeSelectSelect, _extends$1({
25236
25316
  ownerState: ownerState,
@@ -25306,7 +25386,7 @@ function getSelectUtilityClasses(slot) {
25306
25386
  const selectClasses = generateUtilityClasses$1('MuiSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);
25307
25387
 
25308
25388
  var _span$1;
25309
- const _excluded$15 = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "error", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"];
25389
+ const _excluded$17 = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "error", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"];
25310
25390
  const SelectSelect = styled$1('div', {
25311
25391
  name: 'MuiSelect',
25312
25392
  slot: 'Select',
@@ -25362,7 +25442,7 @@ const SelectNativeInput = styled$1('input', {
25362
25442
  width: '100%',
25363
25443
  boxSizing: 'border-box'
25364
25444
  });
25365
- function areEqualValues(a, b) {
25445
+ function areEqualValues$1(a, b) {
25366
25446
  if (typeof b === 'object' && b !== null) {
25367
25447
  return a === b;
25368
25448
  }
@@ -25373,7 +25453,7 @@ function areEqualValues(a, b) {
25373
25453
  function isEmpty$1(display) {
25374
25454
  return display == null || typeof display === 'string' && !display.trim();
25375
25455
  }
25376
- const useUtilityClasses$Q = ownerState => {
25456
+ const useUtilityClasses$S = ownerState => {
25377
25457
  const {
25378
25458
  classes,
25379
25459
  variant,
@@ -25429,7 +25509,7 @@ const SelectInput = /*#__PURE__*/React$1.forwardRef(function SelectInput(props,
25429
25509
  value: valueProp,
25430
25510
  variant = 'standard'
25431
25511
  } = props,
25432
- other = _objectWithoutPropertiesLoose(props, _excluded$15);
25512
+ other = _objectWithoutPropertiesLoose(props, _excluded$17);
25433
25513
  const [value, setValueState] = useControlled({
25434
25514
  controlled: valueProp,
25435
25515
  default: defaultValue,
@@ -25637,12 +25717,12 @@ const SelectInput = /*#__PURE__*/React$1.forwardRef(function SelectInput(props,
25637
25717
  if (!Array.isArray(value)) {
25638
25718
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The \`value\` prop must be an array when using the \`Select\` component with \`multiple\`.` : formatMuiErrorMessage$1(2));
25639
25719
  }
25640
- selected = value.some(v => areEqualValues(v, child.props.value));
25720
+ selected = value.some(v => areEqualValues$1(v, child.props.value));
25641
25721
  if (selected && computeDisplay) {
25642
25722
  displayMultiple.push(child.props.children);
25643
25723
  }
25644
25724
  } else {
25645
- selected = areEqualValues(value, child.props.value);
25725
+ selected = areEqualValues$1(value, child.props.value);
25646
25726
  if (selected && computeDisplay) {
25647
25727
  displaySingle = child.props.children;
25648
25728
  }
@@ -25716,7 +25796,7 @@ const SelectInput = /*#__PURE__*/React$1.forwardRef(function SelectInput(props,
25716
25796
  open,
25717
25797
  error
25718
25798
  });
25719
- const classes = useUtilityClasses$Q(ownerState);
25799
+ const classes = useUtilityClasses$S(ownerState);
25720
25800
  const paperProps = _extends$1({}, MenuProps.PaperProps, (_MenuProps$slotProps = MenuProps.slotProps) == null ? void 0 : _MenuProps$slotProps.paper);
25721
25801
  const listboxId = useId();
25722
25802
  return /*#__PURE__*/jsxRuntimeExports.jsxs(React$1.Fragment, {
@@ -25944,8 +26024,8 @@ function getSvgIconUtilityClass(slot) {
25944
26024
  }
25945
26025
  generateUtilityClasses$1('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);
25946
26026
 
25947
- const _excluded$14 = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
25948
- const useUtilityClasses$P = ownerState => {
26027
+ const _excluded$16 = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"];
26028
+ const useUtilityClasses$R = ownerState => {
25949
26029
  const {
25950
26030
  color,
25951
26031
  fontSize,
@@ -26012,7 +26092,7 @@ const SvgIcon = /*#__PURE__*/React$1.forwardRef(function SvgIcon(inProps, ref) {
26012
26092
  titleAccess,
26013
26093
  viewBox = '0 0 24 24'
26014
26094
  } = props,
26015
- other = _objectWithoutPropertiesLoose(props, _excluded$14);
26095
+ other = _objectWithoutPropertiesLoose(props, _excluded$16);
26016
26096
  const hasSvgAsChild = /*#__PURE__*/React$1.isValidElement(children) && children.type === 'svg';
26017
26097
  const ownerState = _extends$1({}, props, {
26018
26098
  color,
@@ -26027,7 +26107,7 @@ const SvgIcon = /*#__PURE__*/React$1.forwardRef(function SvgIcon(inProps, ref) {
26027
26107
  if (!inheritViewBox) {
26028
26108
  more.viewBox = viewBox;
26029
26109
  }
26030
- const classes = useUtilityClasses$P(ownerState);
26110
+ const classes = useUtilityClasses$R(ownerState);
26031
26111
  return /*#__PURE__*/jsxRuntimeExports.jsxs(SvgIconRoot, _extends$1({
26032
26112
  as: component,
26033
26113
  className: clsx(classes.root, className),
@@ -26139,9 +26219,9 @@ var ArrowDropDownIcon$1 = createSvgIcon$1( /*#__PURE__*/jsxRuntimeExports.jsx("p
26139
26219
  d: "M7 10l5 5 5-5z"
26140
26220
  }), 'ArrowDropDown');
26141
26221
 
26142
- const _excluded$13 = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"],
26222
+ const _excluded$15 = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"],
26143
26223
  _excluded2$b = ["root"];
26144
- const useUtilityClasses$O = ownerState => {
26224
+ const useUtilityClasses$Q = ownerState => {
26145
26225
  const {
26146
26226
  classes
26147
26227
  } = ownerState;
@@ -26184,7 +26264,7 @@ const Select = /*#__PURE__*/React$1.forwardRef(function Select(inProps, ref) {
26184
26264
  SelectDisplayProps,
26185
26265
  variant: variantProp = 'outlined'
26186
26266
  } = props,
26187
- other = _objectWithoutPropertiesLoose(props, _excluded$13);
26267
+ other = _objectWithoutPropertiesLoose(props, _excluded$15);
26188
26268
  const inputComponent = native ? NativeSelectInput : SelectInput;
26189
26269
  const muiFormControl = useFormControl();
26190
26270
  const fcs = formControlState({
@@ -26197,7 +26277,7 @@ const Select = /*#__PURE__*/React$1.forwardRef(function Select(inProps, ref) {
26197
26277
  variant,
26198
26278
  classes: classesProp
26199
26279
  });
26200
- const classes = useUtilityClasses$O(ownerState);
26280
+ const classes = useUtilityClasses$Q(ownerState);
26201
26281
  const restOfClasses = _objectWithoutPropertiesLoose(classes, _excluded2$b);
26202
26282
  const InputComponent = input || {
26203
26283
  standard: /*#__PURE__*/jsxRuntimeExports.jsx(StyledInput, {
@@ -26407,13 +26487,13 @@ function getTextFieldUtilityClass(slot) {
26407
26487
  }
26408
26488
  generateUtilityClasses$1('MuiTextField', ['root']);
26409
26489
 
26410
- const _excluded$12 = ["autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "select", "SelectProps", "type", "value", "variant"];
26490
+ const _excluded$14 = ["autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "select", "SelectProps", "type", "value", "variant"];
26411
26491
  const variantComponent = {
26412
26492
  standard: Input,
26413
26493
  filled: FilledInput,
26414
26494
  outlined: OutlinedInput
26415
26495
  };
26416
- const useUtilityClasses$N = ownerState => {
26496
+ const useUtilityClasses$P = ownerState => {
26417
26497
  const {
26418
26498
  classes
26419
26499
  } = ownerState;
@@ -26499,7 +26579,7 @@ const TextField = /*#__PURE__*/React$1.forwardRef(function TextField(inProps, re
26499
26579
  value,
26500
26580
  variant = 'outlined'
26501
26581
  } = props,
26502
- other = _objectWithoutPropertiesLoose(props, _excluded$12);
26582
+ other = _objectWithoutPropertiesLoose(props, _excluded$14);
26503
26583
  const ownerState = _extends$1({}, props, {
26504
26584
  autoFocus,
26505
26585
  color,
@@ -26511,7 +26591,7 @@ const TextField = /*#__PURE__*/React$1.forwardRef(function TextField(inProps, re
26511
26591
  select,
26512
26592
  variant
26513
26593
  });
26514
- const classes = useUtilityClasses$N(ownerState);
26594
+ const classes = useUtilityClasses$P(ownerState);
26515
26595
  if (process.env.NODE_ENV !== 'production') {
26516
26596
  if (select && !children) {
26517
26597
  console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');
@@ -26761,7 +26841,7 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
26761
26841
  variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])
26762
26842
  } : void 0;
26763
26843
 
26764
- const _excluded$11 = ["defaultProps", "mixins", "overrides", "palette", "props", "styleOverrides"],
26844
+ const _excluded$13 = ["defaultProps", "mixins", "overrides", "palette", "props", "styleOverrides"],
26765
26845
  _excluded2$a = ["type", "mode"];
26766
26846
  function adaptV4Theme(inputTheme) {
26767
26847
  if (process.env.NODE_ENV !== 'production') {
@@ -26775,7 +26855,7 @@ function adaptV4Theme(inputTheme) {
26775
26855
  props = {},
26776
26856
  styleOverrides = {}
26777
26857
  } = inputTheme,
26778
- other = _objectWithoutPropertiesLoose(inputTheme, _excluded$11);
26858
+ other = _objectWithoutPropertiesLoose(inputTheme, _excluded$13);
26779
26859
  const theme = _extends$1({}, other, {
26780
26860
  components: {}
26781
26861
  });
@@ -27043,12 +27123,12 @@ Use unitless line heights instead.` : formatMuiErrorMessage$1(6));
27043
27123
  return theme;
27044
27124
  }
27045
27125
 
27046
- const _excluded$10 = ["theme"];
27126
+ const _excluded$12 = ["theme"];
27047
27127
  function ThemeProvider(_ref) {
27048
27128
  let {
27049
27129
  theme: themeInput
27050
27130
  } = _ref,
27051
- props = _objectWithoutPropertiesLoose(_ref, _excluded$10);
27131
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$12);
27052
27132
  const scopedTheme = themeInput[THEME_ID];
27053
27133
  return /*#__PURE__*/jsxRuntimeExports.jsx(ThemeProvider$1, _extends$1({}, props, {
27054
27134
  themeId: scopedTheme ? THEME_ID : undefined,
@@ -27091,7 +27171,7 @@ function shouldSkipGeneratingVar(keys) {
27091
27171
  keys[0] === 'palette' && !!((_keys$ = keys[1]) != null && _keys$.match(/(mode|contrastThreshold|tonalOffset)/));
27092
27172
  }
27093
27173
 
27094
- const _excluded$$ = ["colorSchemes", "cssVarPrefix", "shouldSkipGeneratingVar"],
27174
+ const _excluded$11 = ["colorSchemes", "cssVarPrefix", "shouldSkipGeneratingVar"],
27095
27175
  _excluded2$9 = ["palette"];
27096
27176
  const defaultDarkOverlays = [...Array(25)].map((_, index) => {
27097
27177
  if (index === 0) {
@@ -27141,7 +27221,7 @@ function extendTheme(options = {}, ...args) {
27141
27221
  cssVarPrefix = 'mui',
27142
27222
  shouldSkipGeneratingVar: shouldSkipGeneratingVar$1 = shouldSkipGeneratingVar
27143
27223
  } = options,
27144
- input = _objectWithoutPropertiesLoose(options, _excluded$$);
27224
+ input = _objectWithoutPropertiesLoose(options, _excluded$11);
27145
27225
  const getCssVar = createGetCssVar(cssVarPrefix);
27146
27226
  const _createThemeWithoutVa = createTheme(_extends$1({}, input, colorSchemesInput.light && {
27147
27227
  palette: (_colorSchemesInput$li = colorSchemesInput.light) == null ? void 0 : _colorSchemesInput$li.palette
@@ -27584,7 +27664,7 @@ process.env.NODE_ENV !== "production" ? Ripple.propTypes = {
27584
27664
 
27585
27665
  const touchRippleClasses = generateUtilityClasses$1('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);
27586
27666
 
27587
- const _excluded$_ = ["center", "classes", "className"];
27667
+ const _excluded$10 = ["center", "classes", "className"];
27588
27668
  let _ = t => t,
27589
27669
  _t,
27590
27670
  _t2,
@@ -27713,7 +27793,7 @@ const TouchRipple = /*#__PURE__*/React$1.forwardRef(function TouchRipple(inProps
27713
27793
  classes = {},
27714
27794
  className
27715
27795
  } = props,
27716
- other = _objectWithoutPropertiesLoose(props, _excluded$_);
27796
+ other = _objectWithoutPropertiesLoose(props, _excluded$10);
27717
27797
  const [ripples, setRipples] = React$1.useState([]);
27718
27798
  const nextKey = React$1.useRef(0);
27719
27799
  const rippleCallback = React$1.useRef(null);
@@ -27907,8 +27987,8 @@ function getButtonBaseUtilityClass(slot) {
27907
27987
  }
27908
27988
  const buttonBaseClasses = generateUtilityClasses$1('MuiButtonBase', ['root', 'disabled', 'focusVisible']);
27909
27989
 
27910
- const _excluded$Z = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"];
27911
- const useUtilityClasses$M = ownerState => {
27990
+ const _excluded$$ = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"];
27991
+ const useUtilityClasses$O = ownerState => {
27912
27992
  const {
27913
27993
  disabled,
27914
27994
  focusVisible,
@@ -28008,7 +28088,7 @@ const ButtonBase = /*#__PURE__*/React$1.forwardRef(function ButtonBase(inProps,
28008
28088
  touchRippleRef,
28009
28089
  type
28010
28090
  } = props,
28011
- other = _objectWithoutPropertiesLoose(props, _excluded$Z);
28091
+ other = _objectWithoutPropertiesLoose(props, _excluded$$);
28012
28092
  const buttonRef = React$1.useRef(null);
28013
28093
  const rippleRef = React$1.useRef(null);
28014
28094
  const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
@@ -28175,7 +28255,7 @@ const ButtonBase = /*#__PURE__*/React$1.forwardRef(function ButtonBase(inProps,
28175
28255
  tabIndex,
28176
28256
  focusVisible
28177
28257
  });
28178
- const classes = useUtilityClasses$M(ownerState);
28258
+ const classes = useUtilityClasses$O(ownerState);
28179
28259
  return /*#__PURE__*/jsxRuntimeExports.jsxs(ButtonBaseRoot, _extends$1({
28180
28260
  as: ComponentProp,
28181
28261
  className: clsx(classes.root, className),
@@ -28370,8 +28450,8 @@ function getIconButtonUtilityClass(slot) {
28370
28450
  }
28371
28451
  const iconButtonClasses = generateUtilityClasses$1('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
28372
28452
 
28373
- const _excluded$Y = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
28374
- const useUtilityClasses$L = ownerState => {
28453
+ const _excluded$_ = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"];
28454
+ const useUtilityClasses$N = ownerState => {
28375
28455
  const {
28376
28456
  classes,
28377
28457
  disabled,
@@ -28471,7 +28551,7 @@ const IconButton = /*#__PURE__*/React$1.forwardRef(function IconButton(inProps,
28471
28551
  disableFocusRipple = false,
28472
28552
  size = 'medium'
28473
28553
  } = props,
28474
- other = _objectWithoutPropertiesLoose(props, _excluded$Y);
28554
+ other = _objectWithoutPropertiesLoose(props, _excluded$_);
28475
28555
  const ownerState = _extends$1({}, props, {
28476
28556
  edge,
28477
28557
  color,
@@ -28479,7 +28559,7 @@ const IconButton = /*#__PURE__*/React$1.forwardRef(function IconButton(inProps,
28479
28559
  disableFocusRipple,
28480
28560
  size
28481
28561
  });
28482
- const classes = useUtilityClasses$L(ownerState);
28562
+ const classes = useUtilityClasses$N(ownerState);
28483
28563
  return /*#__PURE__*/jsxRuntimeExports.jsx(IconButtonRoot, _extends$1({
28484
28564
  className: clsx(classes.root, className),
28485
28565
  centerRipple: true,
@@ -28568,8 +28648,8 @@ function getTypographyUtilityClass(slot) {
28568
28648
  }
28569
28649
  generateUtilityClasses$1('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);
28570
28650
 
28571
- const _excluded$X = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
28572
- const useUtilityClasses$K = ownerState => {
28651
+ const _excluded$Z = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"];
28652
+ const useUtilityClasses$M = ownerState => {
28573
28653
  const {
28574
28654
  align,
28575
28655
  gutterBottom,
@@ -28655,7 +28735,7 @@ const Typography = /*#__PURE__*/React$1.forwardRef(function Typography(inProps,
28655
28735
  variant = 'body1',
28656
28736
  variantMapping = defaultVariantMapping
28657
28737
  } = props,
28658
- other = _objectWithoutPropertiesLoose(props, _excluded$X);
28738
+ other = _objectWithoutPropertiesLoose(props, _excluded$Z);
28659
28739
  const ownerState = _extends$1({}, props, {
28660
28740
  align,
28661
28741
  color,
@@ -28668,7 +28748,7 @@ const Typography = /*#__PURE__*/React$1.forwardRef(function Typography(inProps,
28668
28748
  variantMapping
28669
28749
  });
28670
28750
  const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';
28671
- const classes = useUtilityClasses$K(ownerState);
28751
+ const classes = useUtilityClasses$M(ownerState);
28672
28752
  return /*#__PURE__*/jsxRuntimeExports.jsx(TypographyRoot, _extends$1({
28673
28753
  as: Component,
28674
28754
  ref: ref,
@@ -28771,7 +28851,7 @@ function useTheme$1(defaultTheme = null) {
28771
28851
  }
28772
28852
  default_1$5 = useThemeWithoutDefault.default = useTheme$1;
28773
28853
 
28774
- const _excluded$W = ["anchorEl", "component", "components", "componentsProps", "container", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "transition", "slots", "slotProps"];
28854
+ const _excluded$Y = ["anchorEl", "component", "components", "componentsProps", "container", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "transition", "slots", "slotProps"];
28775
28855
  const PopperRoot = styled$1(Popper$1, {
28776
28856
  name: 'MuiPopper',
28777
28857
  slot: 'Root',
@@ -28814,7 +28894,7 @@ const Popper = /*#__PURE__*/React$1.forwardRef(function Popper(inProps, ref) {
28814
28894
  slots,
28815
28895
  slotProps
28816
28896
  } = props,
28817
- other = _objectWithoutPropertiesLoose(props, _excluded$W);
28897
+ other = _objectWithoutPropertiesLoose(props, _excluded$Y);
28818
28898
  const RootComponent = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components == null ? void 0 : components.Root;
28819
28899
  const otherProps = _extends$1({
28820
28900
  anchorEl,
@@ -28972,8 +29052,8 @@ function getListSubheaderUtilityClass(slot) {
28972
29052
  }
28973
29053
  generateUtilityClasses$1('MuiListSubheader', ['root', 'colorPrimary', 'colorInherit', 'gutters', 'inset', 'sticky']);
28974
29054
 
28975
- const _excluded$V = ["className", "color", "component", "disableGutters", "disableSticky", "inset"];
28976
- const useUtilityClasses$J = ownerState => {
29055
+ const _excluded$X = ["className", "color", "component", "disableGutters", "disableSticky", "inset"];
29056
+ const useUtilityClasses$L = ownerState => {
28977
29057
  const {
28978
29058
  classes,
28979
29059
  color,
@@ -29034,7 +29114,7 @@ const ListSubheader = /*#__PURE__*/React$1.forwardRef(function ListSubheader(inP
29034
29114
  disableSticky = false,
29035
29115
  inset = false
29036
29116
  } = props,
29037
- other = _objectWithoutPropertiesLoose(props, _excluded$V);
29117
+ other = _objectWithoutPropertiesLoose(props, _excluded$X);
29038
29118
  const ownerState = _extends$1({}, props, {
29039
29119
  color,
29040
29120
  component,
@@ -29042,7 +29122,7 @@ const ListSubheader = /*#__PURE__*/React$1.forwardRef(function ListSubheader(inP
29042
29122
  disableSticky,
29043
29123
  inset
29044
29124
  });
29045
- const classes = useUtilityClasses$J(ownerState);
29125
+ const classes = useUtilityClasses$L(ownerState);
29046
29126
  return /*#__PURE__*/jsxRuntimeExports.jsx(ListSubheaderRoot, _extends$1({
29047
29127
  as: component,
29048
29128
  className: clsx(classes.root, className),
@@ -29108,8 +29188,8 @@ function getChipUtilityClass(slot) {
29108
29188
  }
29109
29189
  const chipClasses = generateUtilityClasses$1('MuiChip', ['root', 'sizeSmall', 'sizeMedium', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'disabled', 'clickable', 'clickableColorPrimary', 'clickableColorSecondary', 'deletable', 'deletableColorPrimary', 'deletableColorSecondary', 'outlined', 'filled', 'outlinedPrimary', 'outlinedSecondary', 'filledPrimary', 'filledSecondary', 'avatar', 'avatarSmall', 'avatarMedium', 'avatarColorPrimary', 'avatarColorSecondary', 'icon', 'iconSmall', 'iconMedium', 'iconColorPrimary', 'iconColorSecondary', 'label', 'labelSmall', 'labelMedium', 'deleteIcon', 'deleteIconSmall', 'deleteIconMedium', 'deleteIconColorPrimary', 'deleteIconColorSecondary', 'deleteIconOutlinedColorPrimary', 'deleteIconOutlinedColorSecondary', 'deleteIconFilledColorPrimary', 'deleteIconFilledColorSecondary', 'focusVisible']);
29110
29190
 
29111
- const _excluded$U = ["avatar", "className", "clickable", "color", "component", "deleteIcon", "disabled", "icon", "label", "onClick", "onDelete", "onKeyDown", "onKeyUp", "size", "variant", "tabIndex", "skipFocusWhenDisabled"];
29112
- const useUtilityClasses$I = ownerState => {
29191
+ const _excluded$W = ["avatar", "className", "clickable", "color", "component", "deleteIcon", "disabled", "icon", "label", "onClick", "onDelete", "onKeyDown", "onKeyUp", "size", "variant", "tabIndex", "skipFocusWhenDisabled"];
29192
+ const useUtilityClasses$K = ownerState => {
29113
29193
  const {
29114
29194
  classes,
29115
29195
  disabled,
@@ -29394,7 +29474,7 @@ const Chip = /*#__PURE__*/React$1.forwardRef(function Chip(inProps, ref) {
29394
29474
  tabIndex,
29395
29475
  skipFocusWhenDisabled = false // TODO v6: Rename to `focusableWhenDisabled`.
29396
29476
  } = props,
29397
- other = _objectWithoutPropertiesLoose(props, _excluded$U);
29477
+ other = _objectWithoutPropertiesLoose(props, _excluded$W);
29398
29478
  const chipRef = React$1.useRef(null);
29399
29479
  const handleRef = useForkRef(chipRef, ref);
29400
29480
  const handleDeleteIconClick = event => {
@@ -29440,7 +29520,7 @@ const Chip = /*#__PURE__*/React$1.forwardRef(function Chip(inProps, ref) {
29440
29520
  clickable,
29441
29521
  variant
29442
29522
  });
29443
- const classes = useUtilityClasses$I(ownerState);
29523
+ const classes = useUtilityClasses$K(ownerState);
29444
29524
  const moreProps = component === ButtonBase ? _extends$1({
29445
29525
  component: ComponentProp || 'div',
29446
29526
  focusVisibleClassName: classes.focusVisible
@@ -29601,12 +29681,12 @@ function getAutocompleteUtilityClass(slot) {
29601
29681
  const autocompleteClasses = generateUtilityClasses$1('MuiAutocomplete', ['root', 'expanded', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);
29602
29682
 
29603
29683
  var _ClearIcon, _ArrowDropDownIcon;
29604
- const _excluded$T = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionKey", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"],
29684
+ const _excluded$V = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionKey", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"],
29605
29685
  _excluded2$8 = ["ref"],
29606
29686
  _excluded3$4 = ["key"],
29607
29687
  _excluded4 = ["key"];
29608
29688
  const useThemeProps = createUseThemeProps();
29609
- const useUtilityClasses$H = ownerState => {
29689
+ const useUtilityClasses$J = ownerState => {
29610
29690
  const {
29611
29691
  classes,
29612
29692
  disablePortal,
@@ -30045,7 +30125,7 @@ const Autocomplete = /*#__PURE__*/React$1.forwardRef(function Autocomplete(inPro
30045
30125
  size = 'medium',
30046
30126
  slotProps = {}
30047
30127
  } = props,
30048
- other = _objectWithoutPropertiesLoose(props, _excluded$T);
30128
+ other = _objectWithoutPropertiesLoose(props, _excluded$V);
30049
30129
  /* eslint-enable @typescript-eslint/no-unused-vars */
30050
30130
 
30051
30131
  const {
@@ -30104,7 +30184,7 @@ const Autocomplete = /*#__PURE__*/React$1.forwardRef(function Autocomplete(inPro
30104
30184
  popupOpen,
30105
30185
  size
30106
30186
  });
30107
- const classes = useUtilityClasses$H(ownerState);
30187
+ const classes = useUtilityClasses$J(ownerState);
30108
30188
  let startAdornment;
30109
30189
  if (multiple && value.length > 0) {
30110
30190
  const getCustomizedTagProps = params => _extends$1({
@@ -30738,8 +30818,8 @@ if (process.env.NODE_ENV !== 'production') {
30738
30818
  ButtonGroupButtonContext.displayName = 'ButtonGroupButtonContext';
30739
30819
  }
30740
30820
 
30741
- const _excluded$S = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"];
30742
- const useUtilityClasses$G = ownerState => {
30821
+ const _excluded$U = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"];
30822
+ const useUtilityClasses$I = ownerState => {
30743
30823
  const {
30744
30824
  color,
30745
30825
  disableElevation,
@@ -30965,7 +31045,7 @@ const Button = /*#__PURE__*/React$1.forwardRef(function Button(inProps, ref) {
30965
31045
  type,
30966
31046
  variant = 'text'
30967
31047
  } = props,
30968
- other = _objectWithoutPropertiesLoose(props, _excluded$S);
31048
+ other = _objectWithoutPropertiesLoose(props, _excluded$U);
30969
31049
  const ownerState = _extends$1({}, props, {
30970
31050
  color,
30971
31051
  component,
@@ -30977,7 +31057,7 @@ const Button = /*#__PURE__*/React$1.forwardRef(function Button(inProps, ref) {
30977
31057
  type,
30978
31058
  variant
30979
31059
  });
30980
- const classes = useUtilityClasses$G(ownerState);
31060
+ const classes = useUtilityClasses$I(ownerState);
30981
31061
  const startIcon = startIconProp && /*#__PURE__*/jsxRuntimeExports.jsx(ButtonStartIcon, {
30982
31062
  className: classes.startIcon,
30983
31063
  ownerState: ownerState,
@@ -31103,8 +31183,8 @@ function getSwitchBaseUtilityClass(slot) {
31103
31183
  }
31104
31184
  generateUtilityClasses$1('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);
31105
31185
 
31106
- const _excluded$R = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
31107
- const useUtilityClasses$F = ownerState => {
31186
+ const _excluded$T = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"];
31187
+ const useUtilityClasses$H = ownerState => {
31108
31188
  const {
31109
31189
  classes,
31110
31190
  checked,
@@ -31169,7 +31249,7 @@ const SwitchBase = /*#__PURE__*/React$1.forwardRef(function SwitchBase(props, re
31169
31249
  type,
31170
31250
  value
31171
31251
  } = props,
31172
- other = _objectWithoutPropertiesLoose(props, _excluded$R);
31252
+ other = _objectWithoutPropertiesLoose(props, _excluded$T);
31173
31253
  const [checked, setCheckedState] = useControlled({
31174
31254
  controlled: checkedProp,
31175
31255
  default: Boolean(defaultChecked),
@@ -31218,7 +31298,7 @@ const SwitchBase = /*#__PURE__*/React$1.forwardRef(function SwitchBase(props, re
31218
31298
  disableFocusRipple,
31219
31299
  edge
31220
31300
  });
31221
- const classes = useUtilityClasses$F(ownerState);
31301
+ const classes = useUtilityClasses$H(ownerState);
31222
31302
  return /*#__PURE__*/jsxRuntimeExports.jsxs(SwitchBaseRoot, _extends$1({
31223
31303
  component: "span",
31224
31304
  className: clsx(classes.root, className),
@@ -31376,8 +31456,8 @@ function getCheckboxUtilityClass(slot) {
31376
31456
  }
31377
31457
  const checkboxClasses = generateUtilityClasses$1('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);
31378
31458
 
31379
- const _excluded$Q = ["checkedIcon", "color", "icon", "indeterminate", "indeterminateIcon", "inputProps", "size", "className"];
31380
- const useUtilityClasses$E = ownerState => {
31459
+ const _excluded$S = ["checkedIcon", "color", "icon", "indeterminate", "indeterminateIcon", "inputProps", "size", "className"];
31460
+ const useUtilityClasses$G = ownerState => {
31381
31461
  const {
31382
31462
  classes,
31383
31463
  indeterminate,
@@ -31421,8 +31501,8 @@ const CheckboxRoot = styled$1(SwitchBase, {
31421
31501
  color: (theme.vars || theme).palette.action.disabled
31422
31502
  }
31423
31503
  }));
31424
- const defaultCheckedIcon = /*#__PURE__*/jsxRuntimeExports.jsx(CheckBoxIcon, {});
31425
- const defaultIcon = /*#__PURE__*/jsxRuntimeExports.jsx(CheckBoxOutlineBlankIcon, {});
31504
+ const defaultCheckedIcon$1 = /*#__PURE__*/jsxRuntimeExports.jsx(CheckBoxIcon, {});
31505
+ const defaultIcon$1 = /*#__PURE__*/jsxRuntimeExports.jsx(CheckBoxOutlineBlankIcon, {});
31426
31506
  const defaultIndeterminateIcon = /*#__PURE__*/jsxRuntimeExports.jsx(IndeterminateCheckBoxIcon, {});
31427
31507
  const Checkbox = /*#__PURE__*/React$1.forwardRef(function Checkbox(inProps, ref) {
31428
31508
  var _icon$props$fontSize, _indeterminateIcon$pr;
@@ -31431,16 +31511,16 @@ const Checkbox = /*#__PURE__*/React$1.forwardRef(function Checkbox(inProps, ref)
31431
31511
  name: 'MuiCheckbox'
31432
31512
  });
31433
31513
  const {
31434
- checkedIcon = defaultCheckedIcon,
31514
+ checkedIcon = defaultCheckedIcon$1,
31435
31515
  color = 'primary',
31436
- icon: iconProp = defaultIcon,
31516
+ icon: iconProp = defaultIcon$1,
31437
31517
  indeterminate = false,
31438
31518
  indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,
31439
31519
  inputProps,
31440
31520
  size = 'medium',
31441
31521
  className
31442
31522
  } = props,
31443
- other = _objectWithoutPropertiesLoose(props, _excluded$Q);
31523
+ other = _objectWithoutPropertiesLoose(props, _excluded$S);
31444
31524
  const icon = indeterminate ? indeterminateIconProp : iconProp;
31445
31525
  const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;
31446
31526
  const ownerState = _extends$1({}, props, {
@@ -31448,7 +31528,7 @@ const Checkbox = /*#__PURE__*/React$1.forwardRef(function Checkbox(inProps, ref)
31448
31528
  indeterminate,
31449
31529
  size
31450
31530
  });
31451
- const classes = useUtilityClasses$E(ownerState);
31531
+ const classes = useUtilityClasses$G(ownerState);
31452
31532
  return /*#__PURE__*/jsxRuntimeExports.jsx(CheckboxRoot, _extends$1({
31453
31533
  type: "checkbox",
31454
31534
  inputProps: _extends$1({
@@ -31639,7 +31719,7 @@ if (process.env.NODE_ENV !== 'production') {
31639
31719
  DialogContext.displayName = 'DialogContext';
31640
31720
  }
31641
31721
 
31642
- const _excluded$P = ["aria-describedby", "aria-labelledby", "BackdropComponent", "BackdropProps", "children", "className", "disableEscapeKeyDown", "fullScreen", "fullWidth", "maxWidth", "onBackdropClick", "onClick", "onClose", "open", "PaperComponent", "PaperProps", "scroll", "TransitionComponent", "transitionDuration", "TransitionProps"];
31722
+ const _excluded$R = ["aria-describedby", "aria-labelledby", "BackdropComponent", "BackdropProps", "children", "className", "disableEscapeKeyDown", "fullScreen", "fullWidth", "maxWidth", "onBackdropClick", "onClick", "onClose", "open", "PaperComponent", "PaperProps", "scroll", "TransitionComponent", "transitionDuration", "TransitionProps"];
31643
31723
  const DialogBackdrop = styled$1(Backdrop, {
31644
31724
  name: 'MuiDialog',
31645
31725
  slot: 'Backdrop',
@@ -31648,7 +31728,7 @@ const DialogBackdrop = styled$1(Backdrop, {
31648
31728
  // Improve scrollable dialog support.
31649
31729
  zIndex: -1
31650
31730
  });
31651
- const useUtilityClasses$D = ownerState => {
31731
+ const useUtilityClasses$F = ownerState => {
31652
31732
  const {
31653
31733
  classes,
31654
31734
  scroll,
@@ -31802,7 +31882,7 @@ const Dialog = /*#__PURE__*/React$1.forwardRef(function Dialog(inProps, ref) {
31802
31882
  transitionDuration = defaultTransitionDuration,
31803
31883
  TransitionProps
31804
31884
  } = props,
31805
- other = _objectWithoutPropertiesLoose(props, _excluded$P);
31885
+ other = _objectWithoutPropertiesLoose(props, _excluded$R);
31806
31886
  const ownerState = _extends$1({}, props, {
31807
31887
  disableEscapeKeyDown,
31808
31888
  fullScreen,
@@ -31810,7 +31890,7 @@ const Dialog = /*#__PURE__*/React$1.forwardRef(function Dialog(inProps, ref) {
31810
31890
  maxWidth,
31811
31891
  scroll
31812
31892
  });
31813
- const classes = useUtilityClasses$D(ownerState);
31893
+ const classes = useUtilityClasses$F(ownerState);
31814
31894
  const backdropClick = React$1.useRef();
31815
31895
  const handleMouseDown = event => {
31816
31896
  // We don't want to close the dialog when clicking the dialog content.
@@ -32025,8 +32105,8 @@ function getDialogActionsUtilityClass(slot) {
32025
32105
  }
32026
32106
  generateUtilityClasses$1('MuiDialogActions', ['root', 'spacing']);
32027
32107
 
32028
- const _excluded$O = ["className", "disableSpacing"];
32029
- const useUtilityClasses$C = ownerState => {
32108
+ const _excluded$Q = ["className", "disableSpacing"];
32109
+ const useUtilityClasses$E = ownerState => {
32030
32110
  const {
32031
32111
  classes,
32032
32112
  disableSpacing
@@ -32067,11 +32147,11 @@ const DialogActions = /*#__PURE__*/React$1.forwardRef(function DialogActions(inP
32067
32147
  className,
32068
32148
  disableSpacing = false
32069
32149
  } = props,
32070
- other = _objectWithoutPropertiesLoose(props, _excluded$O);
32150
+ other = _objectWithoutPropertiesLoose(props, _excluded$Q);
32071
32151
  const ownerState = _extends$1({}, props, {
32072
32152
  disableSpacing
32073
32153
  });
32074
- const classes = useUtilityClasses$C(ownerState);
32154
+ const classes = useUtilityClasses$E(ownerState);
32075
32155
  return /*#__PURE__*/jsxRuntimeExports.jsx(DialogActionsRoot, _extends$1({
32076
32156
  className: clsx(classes.root, className),
32077
32157
  ownerState: ownerState,
@@ -32116,8 +32196,8 @@ function getDialogTitleUtilityClass(slot) {
32116
32196
  }
32117
32197
  const dialogTitleClasses = generateUtilityClasses$1('MuiDialogTitle', ['root']);
32118
32198
 
32119
- const _excluded$N = ["className", "dividers"];
32120
- const useUtilityClasses$B = ownerState => {
32199
+ const _excluded$P = ["className", "dividers"];
32200
+ const useUtilityClasses$D = ownerState => {
32121
32201
  const {
32122
32202
  classes,
32123
32203
  dividers
@@ -32163,11 +32243,11 @@ const DialogContent = /*#__PURE__*/React$1.forwardRef(function DialogContent(inP
32163
32243
  className,
32164
32244
  dividers = false
32165
32245
  } = props,
32166
- other = _objectWithoutPropertiesLoose(props, _excluded$N);
32246
+ other = _objectWithoutPropertiesLoose(props, _excluded$P);
32167
32247
  const ownerState = _extends$1({}, props, {
32168
32248
  dividers
32169
32249
  });
32170
- const classes = useUtilityClasses$B(ownerState);
32250
+ const classes = useUtilityClasses$D(ownerState);
32171
32251
  return /*#__PURE__*/jsxRuntimeExports.jsx(DialogContentRoot, _extends$1({
32172
32252
  className: clsx(classes.root, className),
32173
32253
  ownerState: ownerState,
@@ -32202,8 +32282,8 @@ process.env.NODE_ENV !== "production" ? DialogContent.propTypes /* remove-propty
32202
32282
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
32203
32283
  } : void 0;
32204
32284
 
32205
- const _excluded$M = ["className", "id"];
32206
- const useUtilityClasses$A = ownerState => {
32285
+ const _excluded$O = ["className", "id"];
32286
+ const useUtilityClasses$C = ownerState => {
32207
32287
  const {
32208
32288
  classes
32209
32289
  } = ownerState;
@@ -32229,9 +32309,9 @@ const DialogTitle = /*#__PURE__*/React$1.forwardRef(function DialogTitle(inProps
32229
32309
  className,
32230
32310
  id: idProp
32231
32311
  } = props,
32232
- other = _objectWithoutPropertiesLoose(props, _excluded$M);
32312
+ other = _objectWithoutPropertiesLoose(props, _excluded$O);
32233
32313
  const ownerState = props;
32234
- const classes = useUtilityClasses$A(ownerState);
32314
+ const classes = useUtilityClasses$C(ownerState);
32235
32315
  const {
32236
32316
  titleId = idProp
32237
32317
  } = React$1.useContext(DialogContext);
@@ -32276,8 +32356,8 @@ function getDividerUtilityClass(slot) {
32276
32356
  }
32277
32357
  const dividerClasses = generateUtilityClasses$1('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);
32278
32358
 
32279
- const _excluded$L = ["absolute", "children", "className", "component", "flexItem", "light", "orientation", "role", "textAlign", "variant"];
32280
- const useUtilityClasses$z = ownerState => {
32359
+ const _excluded$N = ["absolute", "children", "className", "component", "flexItem", "light", "orientation", "role", "textAlign", "variant"];
32360
+ const useUtilityClasses$B = ownerState => {
32281
32361
  const {
32282
32362
  absolute,
32283
32363
  children,
@@ -32418,7 +32498,7 @@ const Divider = /*#__PURE__*/React$1.forwardRef(function Divider(inProps, ref) {
32418
32498
  textAlign = 'center',
32419
32499
  variant = 'fullWidth'
32420
32500
  } = props,
32421
- other = _objectWithoutPropertiesLoose(props, _excluded$L);
32501
+ other = _objectWithoutPropertiesLoose(props, _excluded$N);
32422
32502
  const ownerState = _extends$1({}, props, {
32423
32503
  absolute,
32424
32504
  component,
@@ -32429,7 +32509,7 @@ const Divider = /*#__PURE__*/React$1.forwardRef(function Divider(inProps, ref) {
32429
32509
  textAlign,
32430
32510
  variant
32431
32511
  });
32432
- const classes = useUtilityClasses$z(ownerState);
32512
+ const classes = useUtilityClasses$B(ownerState);
32433
32513
  return /*#__PURE__*/jsxRuntimeExports.jsx(DividerRoot, _extends$1({
32434
32514
  as: component,
32435
32515
  className: clsx(classes.root, className),
@@ -32514,7 +32594,7 @@ process.env.NODE_ENV !== "production" ? Divider.propTypes /* remove-proptypes */
32514
32594
  variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['fullWidth', 'inset', 'middle']), PropTypes.string])
32515
32595
  } : void 0;
32516
32596
 
32517
- const _excluded$K = ["addEndListener", "appear", "children", "container", "direction", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
32597
+ const _excluded$M = ["addEndListener", "appear", "children", "container", "direction", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
32518
32598
  function getTranslateValue(direction, node, resolvedContainer) {
32519
32599
  const rect = node.getBoundingClientRect();
32520
32600
  const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();
@@ -32603,7 +32683,7 @@ const Slide = /*#__PURE__*/React$1.forwardRef(function Slide(props, ref) {
32603
32683
  // eslint-disable-next-line react/prop-types
32604
32684
  TransitionComponent = Transition
32605
32685
  } = props,
32606
- other = _objectWithoutPropertiesLoose(props, _excluded$K);
32686
+ other = _objectWithoutPropertiesLoose(props, _excluded$M);
32607
32687
  const childrenRef = React$1.useRef(null);
32608
32688
  const handleRef = useForkRef(children.ref, childrenRef, ref);
32609
32689
  const normalizedTransitionCallback = callback => isAppearing => {
@@ -32886,8 +32966,8 @@ function getFormControlLabelUtilityClasses(slot) {
32886
32966
  }
32887
32967
  const formControlLabelClasses = generateUtilityClasses$1('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);
32888
32968
 
32889
- const _excluded$J = ["checked", "className", "componentsProps", "control", "disabled", "disableTypography", "inputRef", "label", "labelPlacement", "name", "onChange", "required", "slotProps", "value"];
32890
- const useUtilityClasses$y = ownerState => {
32969
+ const _excluded$L = ["checked", "className", "componentsProps", "control", "disabled", "disableTypography", "inputRef", "label", "labelPlacement", "name", "onChange", "required", "slotProps", "value"];
32970
+ const useUtilityClasses$A = ownerState => {
32891
32971
  const {
32892
32972
  classes,
32893
32973
  disabled,
@@ -32980,7 +33060,7 @@ const FormControlLabel = /*#__PURE__*/React$1.forwardRef(function FormControlLab
32980
33060
  required: requiredProp,
32981
33061
  slotProps = {}
32982
33062
  } = props,
32983
- other = _objectWithoutPropertiesLoose(props, _excluded$J);
33063
+ other = _objectWithoutPropertiesLoose(props, _excluded$L);
32984
33064
  const muiFormControl = useFormControl();
32985
33065
  const disabled = (_ref = disabledProp != null ? disabledProp : control.props.disabled) != null ? _ref : muiFormControl == null ? void 0 : muiFormControl.disabled;
32986
33066
  const required = requiredProp != null ? requiredProp : control.props.required;
@@ -33004,7 +33084,7 @@ const FormControlLabel = /*#__PURE__*/React$1.forwardRef(function FormControlLab
33004
33084
  required,
33005
33085
  error: fcs.error
33006
33086
  });
33007
- const classes = useUtilityClasses$y(ownerState);
33087
+ const classes = useUtilityClasses$A(ownerState);
33008
33088
  const typographySlotProps = (_slotProps$typography = slotProps.typography) != null ? _slotProps$typography : componentsProps.typography;
33009
33089
  let label = labelProp;
33010
33090
  if (label != null && label.type !== Typography && !disableTypography) {
@@ -33117,8 +33197,8 @@ function getFormGroupUtilityClass(slot) {
33117
33197
  }
33118
33198
  generateUtilityClasses$1('MuiFormGroup', ['root', 'row', 'error']);
33119
33199
 
33120
- const _excluded$I = ["className", "row"];
33121
- const useUtilityClasses$x = ownerState => {
33200
+ const _excluded$K = ["className", "row"];
33201
+ const useUtilityClasses$z = ownerState => {
33122
33202
  const {
33123
33203
  classes,
33124
33204
  row,
@@ -33162,7 +33242,7 @@ const FormGroup = /*#__PURE__*/React$1.forwardRef(function FormGroup(inProps, re
33162
33242
  className,
33163
33243
  row = false
33164
33244
  } = props,
33165
- other = _objectWithoutPropertiesLoose(props, _excluded$I);
33245
+ other = _objectWithoutPropertiesLoose(props, _excluded$K);
33166
33246
  const muiFormControl = useFormControl();
33167
33247
  const fcs = formControlState({
33168
33248
  props,
@@ -33173,7 +33253,7 @@ const FormGroup = /*#__PURE__*/React$1.forwardRef(function FormGroup(inProps, re
33173
33253
  row,
33174
33254
  error: fcs.error
33175
33255
  });
33176
- const classes = useUtilityClasses$x(ownerState);
33256
+ const classes = useUtilityClasses$z(ownerState);
33177
33257
  return /*#__PURE__*/jsxRuntimeExports.jsx(FormGroupRoot, _extends$1({
33178
33258
  className: clsx(classes.root, className),
33179
33259
  ownerState: ownerState,
@@ -33233,7 +33313,7 @@ const gridClasses = generateUtilityClasses$1('MuiGrid', ['root', 'container', 'i
33233
33313
  // grid sizes for all breakpoints
33234
33314
  ...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);
33235
33315
 
33236
- const _excluded$H = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
33316
+ const _excluded$J = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
33237
33317
  function getOffset(val) {
33238
33318
  const parse = parseFloat(val);
33239
33319
  return `${parse}${String(val).replace(String(parse), '') || 'px'}`;
@@ -33542,7 +33622,7 @@ function resolveSpacingClasses(spacing, breakpoints) {
33542
33622
  });
33543
33623
  return classes;
33544
33624
  }
33545
- const useUtilityClasses$w = ownerState => {
33625
+ const useUtilityClasses$y = ownerState => {
33546
33626
  const {
33547
33627
  classes,
33548
33628
  container,
@@ -33593,7 +33673,7 @@ const Grid = /*#__PURE__*/React$1.forwardRef(function Grid(inProps, ref) {
33593
33673
  wrap = 'wrap',
33594
33674
  zeroMinWidth = false
33595
33675
  } = props,
33596
- other = _objectWithoutPropertiesLoose(props, _excluded$H);
33676
+ other = _objectWithoutPropertiesLoose(props, _excluded$J);
33597
33677
  const rowSpacing = rowSpacingProp || spacing;
33598
33678
  const columnSpacing = columnSpacingProp || spacing;
33599
33679
  const columnsContext = React$1.useContext(GridContext);
@@ -33621,7 +33701,7 @@ const Grid = /*#__PURE__*/React$1.forwardRef(function Grid(inProps, ref) {
33621
33701
  }, breakpointsValues, {
33622
33702
  breakpoints: breakpoints.keys
33623
33703
  });
33624
- const classes = useUtilityClasses$w(ownerState);
33704
+ const classes = useUtilityClasses$y(ownerState);
33625
33705
  return /*#__PURE__*/jsxRuntimeExports.jsx(GridContext.Provider, {
33626
33706
  value: columns,
33627
33707
  children: /*#__PURE__*/jsxRuntimeExports.jsx(GridRoot, _extends$1({
@@ -33781,14 +33861,14 @@ function getInputAdornmentUtilityClass(slot) {
33781
33861
  const inputAdornmentClasses = generateUtilityClasses$1('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);
33782
33862
 
33783
33863
  var _span;
33784
- const _excluded$G = ["children", "className", "component", "disablePointerEvents", "disableTypography", "position", "variant"];
33864
+ const _excluded$I = ["children", "className", "component", "disablePointerEvents", "disableTypography", "position", "variant"];
33785
33865
  const overridesResolver$3 = (props, styles) => {
33786
33866
  const {
33787
33867
  ownerState
33788
33868
  } = props;
33789
33869
  return [styles.root, styles[`position${capitalize$1(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];
33790
33870
  };
33791
- const useUtilityClasses$v = ownerState => {
33871
+ const useUtilityClasses$x = ownerState => {
33792
33872
  const {
33793
33873
  classes,
33794
33874
  disablePointerEvents,
@@ -33846,7 +33926,7 @@ const InputAdornment = /*#__PURE__*/React$1.forwardRef(function InputAdornment(i
33846
33926
  position,
33847
33927
  variant: variantProp
33848
33928
  } = props,
33849
- other = _objectWithoutPropertiesLoose(props, _excluded$G);
33929
+ other = _objectWithoutPropertiesLoose(props, _excluded$I);
33850
33930
  const muiFormControl = useFormControl() || {};
33851
33931
  let variant = variantProp;
33852
33932
  if (variantProp && muiFormControl.variant) {
@@ -33866,7 +33946,7 @@ const InputAdornment = /*#__PURE__*/React$1.forwardRef(function InputAdornment(i
33866
33946
  position,
33867
33947
  variant
33868
33948
  });
33869
- const classes = useUtilityClasses$v(ownerState);
33949
+ const classes = useUtilityClasses$x(ownerState);
33870
33950
  return /*#__PURE__*/jsxRuntimeExports.jsx(FormControlContext.Provider, {
33871
33951
  value: null,
33872
33952
  children: /*#__PURE__*/jsxRuntimeExports.jsx(InputAdornmentRoot, _extends$1({
@@ -33948,8 +34028,8 @@ function getListItemSecondaryActionClassesUtilityClass(slot) {
33948
34028
  }
33949
34029
  generateUtilityClasses$1('MuiListItemSecondaryAction', ['root', 'disableGutters']);
33950
34030
 
33951
- const _excluded$F = ["className"];
33952
- const useUtilityClasses$u = ownerState => {
34031
+ const _excluded$H = ["className"];
34032
+ const useUtilityClasses$w = ownerState => {
33953
34033
  const {
33954
34034
  disableGutters,
33955
34035
  classes
@@ -33990,12 +34070,12 @@ const ListItemSecondaryAction = /*#__PURE__*/React$1.forwardRef(function ListIte
33990
34070
  const {
33991
34071
  className
33992
34072
  } = props,
33993
- other = _objectWithoutPropertiesLoose(props, _excluded$F);
34073
+ other = _objectWithoutPropertiesLoose(props, _excluded$H);
33994
34074
  const context = React$1.useContext(ListContext);
33995
34075
  const ownerState = _extends$1({}, props, {
33996
34076
  disableGutters: context.disableGutters
33997
34077
  });
33998
- const classes = useUtilityClasses$u(ownerState);
34078
+ const classes = useUtilityClasses$w(ownerState);
33999
34079
  return /*#__PURE__*/jsxRuntimeExports.jsx(ListItemSecondaryActionRoot, _extends$1({
34000
34080
  className: clsx(classes.root, className),
34001
34081
  ownerState: ownerState,
@@ -34026,7 +34106,7 @@ process.env.NODE_ENV !== "production" ? ListItemSecondaryAction.propTypes /* rem
34026
34106
  } : void 0;
34027
34107
  ListItemSecondaryAction.muiName = 'ListItemSecondaryAction';
34028
34108
 
34029
- const _excluded$E = ["className"],
34109
+ const _excluded$G = ["className"],
34030
34110
  _excluded2$7 = ["alignItems", "autoFocus", "button", "children", "className", "component", "components", "componentsProps", "ContainerComponent", "ContainerProps", "dense", "disabled", "disableGutters", "disablePadding", "divider", "focusVisibleClassName", "secondaryAction", "selected", "slotProps", "slots"];
34031
34111
  const overridesResolver$2 = (props, styles) => {
34032
34112
  const {
@@ -34034,7 +34114,7 @@ const overridesResolver$2 = (props, styles) => {
34034
34114
  } = props;
34035
34115
  return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters, !ownerState.disablePadding && styles.padding, ownerState.button && styles.button, ownerState.hasSecondaryAction && styles.secondaryAction];
34036
34116
  };
34037
- const useUtilityClasses$t = ownerState => {
34117
+ const useUtilityClasses$v = ownerState => {
34038
34118
  const {
34039
34119
  alignItems,
34040
34120
  button,
@@ -34168,7 +34248,7 @@ const ListItem = /*#__PURE__*/React$1.forwardRef(function ListItem(inProps, ref)
34168
34248
  slotProps = {},
34169
34249
  slots = {}
34170
34250
  } = props,
34171
- ContainerProps = _objectWithoutPropertiesLoose(props.ContainerProps, _excluded$E),
34251
+ ContainerProps = _objectWithoutPropertiesLoose(props.ContainerProps, _excluded$G),
34172
34252
  other = _objectWithoutPropertiesLoose(props, _excluded2$7);
34173
34253
  const context = React$1.useContext(ListContext);
34174
34254
  const childContext = React$1.useMemo(() => ({
@@ -34202,7 +34282,7 @@ const ListItem = /*#__PURE__*/React$1.forwardRef(function ListItem(inProps, ref)
34202
34282
  hasSecondaryAction,
34203
34283
  selected
34204
34284
  });
34205
- const classes = useUtilityClasses$t(ownerState);
34285
+ const classes = useUtilityClasses$v(ownerState);
34206
34286
  const handleRef = useForkRef(listItemRef, ref);
34207
34287
  const Root = slots.root || components.Root || ListItemRoot;
34208
34288
  const rootProps = slotProps.root || componentsProps.root || {};
@@ -34431,8 +34511,8 @@ function getListItemTextUtilityClass(slot) {
34431
34511
  }
34432
34512
  const listItemTextClasses = generateUtilityClasses$1('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);
34433
34513
 
34434
- const _excluded$D = ["children", "className", "disableTypography", "inset", "primary", "primaryTypographyProps", "secondary", "secondaryTypographyProps"];
34435
- const useUtilityClasses$s = ownerState => {
34514
+ const _excluded$F = ["children", "className", "disableTypography", "inset", "primary", "primaryTypographyProps", "secondary", "secondaryTypographyProps"];
34515
+ const useUtilityClasses$u = ownerState => {
34436
34516
  const {
34437
34517
  classes,
34438
34518
  inset,
@@ -34488,7 +34568,7 @@ const ListItemText = /*#__PURE__*/React$1.forwardRef(function ListItemText(inPro
34488
34568
  secondary: secondaryProp,
34489
34569
  secondaryTypographyProps
34490
34570
  } = props,
34491
- other = _objectWithoutPropertiesLoose(props, _excluded$D);
34571
+ other = _objectWithoutPropertiesLoose(props, _excluded$F);
34492
34572
  const {
34493
34573
  dense
34494
34574
  } = React$1.useContext(ListContext);
@@ -34501,7 +34581,7 @@ const ListItemText = /*#__PURE__*/React$1.forwardRef(function ListItemText(inPro
34501
34581
  secondary: !!secondary,
34502
34582
  dense
34503
34583
  });
34504
- const classes = useUtilityClasses$s(ownerState);
34584
+ const classes = useUtilityClasses$u(ownerState);
34505
34585
  if (primary != null && primary.type !== Typography && !disableTypography) {
34506
34586
  primary = /*#__PURE__*/jsxRuntimeExports.jsx(Typography, _extends$1({
34507
34587
  variant: dense ? 'body2' : 'body1',
@@ -34590,14 +34670,14 @@ function getMenuItemUtilityClass(slot) {
34590
34670
  }
34591
34671
  const menuItemClasses = generateUtilityClasses$1('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);
34592
34672
 
34593
- const _excluded$C = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"];
34673
+ const _excluded$E = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"];
34594
34674
  const overridesResolver$1 = (props, styles) => {
34595
34675
  const {
34596
34676
  ownerState
34597
34677
  } = props;
34598
34678
  return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];
34599
34679
  };
34600
- const useUtilityClasses$r = ownerState => {
34680
+ const useUtilityClasses$t = ownerState => {
34601
34681
  const {
34602
34682
  disabled,
34603
34683
  dense,
@@ -34712,7 +34792,7 @@ const MenuItem = /*#__PURE__*/React$1.forwardRef(function MenuItem(inProps, ref)
34712
34792
  tabIndex: tabIndexProp,
34713
34793
  className
34714
34794
  } = props,
34715
- other = _objectWithoutPropertiesLoose(props, _excluded$C);
34795
+ other = _objectWithoutPropertiesLoose(props, _excluded$E);
34716
34796
  const context = React$1.useContext(ListContext);
34717
34797
  const childContext = React$1.useMemo(() => ({
34718
34798
  dense: dense || context.dense || false,
@@ -34733,7 +34813,7 @@ const MenuItem = /*#__PURE__*/React$1.forwardRef(function MenuItem(inProps, ref)
34733
34813
  divider,
34734
34814
  disableGutters
34735
34815
  });
34736
- const classes = useUtilityClasses$r(props);
34816
+ const classes = useUtilityClasses$t(props);
34737
34817
  const handleRef = useForkRef(menuItemRef, ref);
34738
34818
  let tabIndex;
34739
34819
  if (!props.disabled) {
@@ -34830,6 +34910,404 @@ process.env.NODE_ENV !== "production" ? MenuItem.propTypes /* remove-proptypes *
34830
34910
  tabIndex: PropTypes.number
34831
34911
  } : void 0;
34832
34912
 
34913
+ var RadioButtonUncheckedIcon = createSvgIcon$1( /*#__PURE__*/jsxRuntimeExports.jsx("path", {
34914
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
34915
+ }), 'RadioButtonUnchecked');
34916
+
34917
+ var RadioButtonCheckedIcon = createSvgIcon$1( /*#__PURE__*/jsxRuntimeExports.jsx("path", {
34918
+ d: "M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"
34919
+ }), 'RadioButtonChecked');
34920
+
34921
+ const RadioButtonIconRoot = styled$1('span', {
34922
+ shouldForwardProp: rootShouldForwardProp
34923
+ })({
34924
+ position: 'relative',
34925
+ display: 'flex'
34926
+ });
34927
+ const RadioButtonIconBackground = styled$1(RadioButtonUncheckedIcon)({
34928
+ // Scale applied to prevent dot misalignment in Safari
34929
+ transform: 'scale(1)'
34930
+ });
34931
+ const RadioButtonIconDot = styled$1(RadioButtonCheckedIcon)(({
34932
+ theme,
34933
+ ownerState
34934
+ }) => _extends$1({
34935
+ left: 0,
34936
+ position: 'absolute',
34937
+ transform: 'scale(0)',
34938
+ transition: theme.transitions.create('transform', {
34939
+ easing: theme.transitions.easing.easeIn,
34940
+ duration: theme.transitions.duration.shortest
34941
+ })
34942
+ }, ownerState.checked && {
34943
+ transform: 'scale(1)',
34944
+ transition: theme.transitions.create('transform', {
34945
+ easing: theme.transitions.easing.easeOut,
34946
+ duration: theme.transitions.duration.shortest
34947
+ })
34948
+ }));
34949
+
34950
+ /**
34951
+ * @ignore - internal component.
34952
+ */
34953
+ function RadioButtonIcon(props) {
34954
+ const {
34955
+ checked = false,
34956
+ classes = {},
34957
+ fontSize
34958
+ } = props;
34959
+ const ownerState = _extends$1({}, props, {
34960
+ checked
34961
+ });
34962
+ return /*#__PURE__*/jsxRuntimeExports.jsxs(RadioButtonIconRoot, {
34963
+ className: classes.root,
34964
+ ownerState: ownerState,
34965
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(RadioButtonIconBackground, {
34966
+ fontSize: fontSize,
34967
+ className: classes.background,
34968
+ ownerState: ownerState
34969
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(RadioButtonIconDot, {
34970
+ fontSize: fontSize,
34971
+ className: classes.dot,
34972
+ ownerState: ownerState
34973
+ })]
34974
+ });
34975
+ }
34976
+ process.env.NODE_ENV !== "production" ? RadioButtonIcon.propTypes = {
34977
+ /**
34978
+ * If `true`, the component is checked.
34979
+ */
34980
+ checked: PropTypes.bool,
34981
+ /**
34982
+ * Override or extend the styles applied to the component.
34983
+ */
34984
+ classes: PropTypes.object,
34985
+ /**
34986
+ * The size of the component.
34987
+ * `small` is equivalent to the dense radio styling.
34988
+ */
34989
+ fontSize: PropTypes.oneOf(['small', 'medium'])
34990
+ } : void 0;
34991
+
34992
+ /**
34993
+ * @ignore - internal component.
34994
+ */
34995
+ const RadioGroupContext = /*#__PURE__*/React$1.createContext(undefined);
34996
+ if (process.env.NODE_ENV !== 'production') {
34997
+ RadioGroupContext.displayName = 'RadioGroupContext';
34998
+ }
34999
+
35000
+ function useRadioGroup() {
35001
+ return React$1.useContext(RadioGroupContext);
35002
+ }
35003
+
35004
+ function getRadioUtilityClass(slot) {
35005
+ return generateUtilityClass$1('MuiRadio', slot);
35006
+ }
35007
+ const radioClasses = generateUtilityClasses$1('MuiRadio', ['root', 'checked', 'disabled', 'colorPrimary', 'colorSecondary', 'sizeSmall']);
35008
+
35009
+ const _excluded$D = ["checked", "checkedIcon", "color", "icon", "name", "onChange", "size", "className"];
35010
+ const useUtilityClasses$s = ownerState => {
35011
+ const {
35012
+ classes,
35013
+ color,
35014
+ size
35015
+ } = ownerState;
35016
+ const slots = {
35017
+ root: ['root', `color${capitalize$1(color)}`, size !== 'medium' && `size${capitalize$1(size)}`]
35018
+ };
35019
+ return _extends$1({}, classes, composeClasses(slots, getRadioUtilityClass, classes));
35020
+ };
35021
+ const RadioRoot = styled$1(SwitchBase, {
35022
+ shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',
35023
+ name: 'MuiRadio',
35024
+ slot: 'Root',
35025
+ overridesResolver: (props, styles) => {
35026
+ const {
35027
+ ownerState
35028
+ } = props;
35029
+ return [styles.root, ownerState.size !== 'medium' && styles[`size${capitalize$1(ownerState.size)}`], styles[`color${capitalize$1(ownerState.color)}`]];
35030
+ }
35031
+ })(({
35032
+ theme,
35033
+ ownerState
35034
+ }) => _extends$1({
35035
+ color: (theme.vars || theme).palette.text.secondary
35036
+ }, !ownerState.disableRipple && {
35037
+ '&:hover': {
35038
+ backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha_1(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
35039
+ // Reset on touch devices, it doesn't add specificity
35040
+ '@media (hover: none)': {
35041
+ backgroundColor: 'transparent'
35042
+ }
35043
+ }
35044
+ }, ownerState.color !== 'default' && {
35045
+ [`&.${radioClasses.checked}`]: {
35046
+ color: (theme.vars || theme).palette[ownerState.color].main
35047
+ }
35048
+ }, {
35049
+ [`&.${radioClasses.disabled}`]: {
35050
+ color: (theme.vars || theme).palette.action.disabled
35051
+ }
35052
+ }));
35053
+ function areEqualValues(a, b) {
35054
+ if (typeof b === 'object' && b !== null) {
35055
+ return a === b;
35056
+ }
35057
+
35058
+ // The value could be a number, the DOM will stringify it anyway.
35059
+ return String(a) === String(b);
35060
+ }
35061
+ const defaultCheckedIcon = /*#__PURE__*/jsxRuntimeExports.jsx(RadioButtonIcon, {
35062
+ checked: true
35063
+ });
35064
+ const defaultIcon = /*#__PURE__*/jsxRuntimeExports.jsx(RadioButtonIcon, {});
35065
+ const Radio = /*#__PURE__*/React$1.forwardRef(function Radio(inProps, ref) {
35066
+ var _defaultIcon$props$fo, _defaultCheckedIcon$p;
35067
+ const props = useThemeProps$1({
35068
+ props: inProps,
35069
+ name: 'MuiRadio'
35070
+ });
35071
+ const {
35072
+ checked: checkedProp,
35073
+ checkedIcon = defaultCheckedIcon,
35074
+ color = 'primary',
35075
+ icon = defaultIcon,
35076
+ name: nameProp,
35077
+ onChange: onChangeProp,
35078
+ size = 'medium',
35079
+ className
35080
+ } = props,
35081
+ other = _objectWithoutPropertiesLoose(props, _excluded$D);
35082
+ const ownerState = _extends$1({}, props, {
35083
+ color,
35084
+ size
35085
+ });
35086
+ const classes = useUtilityClasses$s(ownerState);
35087
+ const radioGroup = useRadioGroup();
35088
+ let checked = checkedProp;
35089
+ const onChange = createChainedFunction(onChangeProp, radioGroup && radioGroup.onChange);
35090
+ let name = nameProp;
35091
+ if (radioGroup) {
35092
+ if (typeof checked === 'undefined') {
35093
+ checked = areEqualValues(radioGroup.value, props.value);
35094
+ }
35095
+ if (typeof name === 'undefined') {
35096
+ name = radioGroup.name;
35097
+ }
35098
+ }
35099
+ return /*#__PURE__*/jsxRuntimeExports.jsx(RadioRoot, _extends$1({
35100
+ type: "radio",
35101
+ icon: /*#__PURE__*/React$1.cloneElement(icon, {
35102
+ fontSize: (_defaultIcon$props$fo = defaultIcon.props.fontSize) != null ? _defaultIcon$props$fo : size
35103
+ }),
35104
+ checkedIcon: /*#__PURE__*/React$1.cloneElement(checkedIcon, {
35105
+ fontSize: (_defaultCheckedIcon$p = defaultCheckedIcon.props.fontSize) != null ? _defaultCheckedIcon$p : size
35106
+ }),
35107
+ ownerState: ownerState,
35108
+ classes: classes,
35109
+ name: name,
35110
+ checked: checked,
35111
+ onChange: onChange,
35112
+ ref: ref,
35113
+ className: clsx(classes.root, className)
35114
+ }, other));
35115
+ });
35116
+ process.env.NODE_ENV !== "production" ? Radio.propTypes /* remove-proptypes */ = {
35117
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
35118
+ // │ These PropTypes are generated from the TypeScript type definitions. │
35119
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
35120
+ // └─────────────────────────────────────────────────────────────────────┘
35121
+ /**
35122
+ * If `true`, the component is checked.
35123
+ */
35124
+ checked: PropTypes.bool,
35125
+ /**
35126
+ * The icon to display when the component is checked.
35127
+ * @default <RadioButtonIcon checked />
35128
+ */
35129
+ checkedIcon: PropTypes.node,
35130
+ /**
35131
+ * Override or extend the styles applied to the component.
35132
+ */
35133
+ classes: PropTypes.object,
35134
+ /**
35135
+ * @ignore
35136
+ */
35137
+ className: PropTypes.string,
35138
+ /**
35139
+ * The color of the component.
35140
+ * It supports both default and custom theme colors, which can be added as shown in the
35141
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
35142
+ * @default 'primary'
35143
+ */
35144
+ color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),
35145
+ /**
35146
+ * If `true`, the component is disabled.
35147
+ */
35148
+ disabled: PropTypes.bool,
35149
+ /**
35150
+ * If `true`, the ripple effect is disabled.
35151
+ * @default false
35152
+ */
35153
+ disableRipple: PropTypes.bool,
35154
+ /**
35155
+ * The icon to display when the component is unchecked.
35156
+ * @default <RadioButtonIcon />
35157
+ */
35158
+ icon: PropTypes.node,
35159
+ /**
35160
+ * The id of the `input` element.
35161
+ */
35162
+ id: PropTypes.string,
35163
+ /**
35164
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
35165
+ */
35166
+ inputProps: PropTypes.object,
35167
+ /**
35168
+ * Pass a ref to the `input` element.
35169
+ */
35170
+ inputRef: refType,
35171
+ /**
35172
+ * Name attribute of the `input` element.
35173
+ */
35174
+ name: PropTypes.string,
35175
+ /**
35176
+ * Callback fired when the state is changed.
35177
+ *
35178
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
35179
+ * You can pull out the new value by accessing `event.target.value` (string).
35180
+ * You can pull out the new checked state by accessing `event.target.checked` (boolean).
35181
+ */
35182
+ onChange: PropTypes.func,
35183
+ /**
35184
+ * If `true`, the `input` element is required.
35185
+ * @default false
35186
+ */
35187
+ required: PropTypes.bool,
35188
+ /**
35189
+ * The size of the component.
35190
+ * `small` is equivalent to the dense radio styling.
35191
+ * @default 'medium'
35192
+ */
35193
+ size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),
35194
+ /**
35195
+ * The system prop that allows defining system overrides as well as additional CSS styles.
35196
+ */
35197
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
35198
+ /**
35199
+ * The value of the component. The DOM API casts this to a string.
35200
+ */
35201
+ value: PropTypes.any
35202
+ } : void 0;
35203
+
35204
+ function getRadioGroupUtilityClass(slot) {
35205
+ return generateUtilityClass$1('MuiRadioGroup', slot);
35206
+ }
35207
+ generateUtilityClasses$1('MuiRadioGroup', ['root', 'row', 'error']);
35208
+
35209
+ const _excluded$C = ["actions", "children", "className", "defaultValue", "name", "onChange", "value"];
35210
+ const useUtilityClasses$r = props => {
35211
+ const {
35212
+ classes,
35213
+ row,
35214
+ error
35215
+ } = props;
35216
+ const slots = {
35217
+ root: ['root', row && 'row', error && 'error']
35218
+ };
35219
+ return composeClasses(slots, getRadioGroupUtilityClass, classes);
35220
+ };
35221
+ const RadioGroup = /*#__PURE__*/React$1.forwardRef(function RadioGroup(props, ref) {
35222
+ const {
35223
+ // private
35224
+ // eslint-disable-next-line react/prop-types
35225
+ actions,
35226
+ children,
35227
+ className,
35228
+ defaultValue,
35229
+ name: nameProp,
35230
+ onChange,
35231
+ value: valueProp
35232
+ } = props,
35233
+ other = _objectWithoutPropertiesLoose(props, _excluded$C);
35234
+ const rootRef = React$1.useRef(null);
35235
+ const classes = useUtilityClasses$r(props);
35236
+ const [value, setValueState] = useControlled({
35237
+ controlled: valueProp,
35238
+ default: defaultValue,
35239
+ name: 'RadioGroup'
35240
+ });
35241
+ React$1.useImperativeHandle(actions, () => ({
35242
+ focus: () => {
35243
+ let input = rootRef.current.querySelector('input:not(:disabled):checked');
35244
+ if (!input) {
35245
+ input = rootRef.current.querySelector('input:not(:disabled)');
35246
+ }
35247
+ if (input) {
35248
+ input.focus();
35249
+ }
35250
+ }
35251
+ }), []);
35252
+ const handleRef = useForkRef(ref, rootRef);
35253
+ const name = useId(nameProp);
35254
+ const contextValue = React$1.useMemo(() => ({
35255
+ name,
35256
+ onChange(event) {
35257
+ setValueState(event.target.value);
35258
+ if (onChange) {
35259
+ onChange(event, event.target.value);
35260
+ }
35261
+ },
35262
+ value
35263
+ }), [name, onChange, setValueState, value]);
35264
+ return /*#__PURE__*/jsxRuntimeExports.jsx(RadioGroupContext.Provider, {
35265
+ value: contextValue,
35266
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(FormGroup, _extends$1({
35267
+ role: "radiogroup",
35268
+ ref: handleRef,
35269
+ className: clsx(classes.root, className)
35270
+ }, other, {
35271
+ children: children
35272
+ }))
35273
+ });
35274
+ });
35275
+ process.env.NODE_ENV !== "production" ? RadioGroup.propTypes /* remove-proptypes */ = {
35276
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
35277
+ // │ These PropTypes are generated from the TypeScript type definitions. │
35278
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
35279
+ // └─────────────────────────────────────────────────────────────────────┘
35280
+ /**
35281
+ * The content of the component.
35282
+ */
35283
+ children: PropTypes.node,
35284
+ /**
35285
+ * @ignore
35286
+ */
35287
+ className: PropTypes.string,
35288
+ /**
35289
+ * The default value. Use when the component is not controlled.
35290
+ */
35291
+ defaultValue: PropTypes.any,
35292
+ /**
35293
+ * The name used to reference the value of the control.
35294
+ * If you don't provide this prop, it falls back to a randomly generated name.
35295
+ */
35296
+ name: PropTypes.string,
35297
+ /**
35298
+ * Callback fired when a radio button is selected.
35299
+ *
35300
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
35301
+ * @param {string} value The value of the selected radio button.
35302
+ * You can pull out the new value by accessing `event.target.value` (string).
35303
+ */
35304
+ onChange: PropTypes.func,
35305
+ /**
35306
+ * Value of the selected radio button. The DOM API casts this to a string.
35307
+ */
35308
+ value: PropTypes.any
35309
+ } : void 0;
35310
+
34833
35311
  function getTooltipUtilityClass(slot) {
34834
35312
  return generateUtilityClass$1('MuiTooltip', slot);
34835
35313
  }
@@ -59226,16 +59704,21 @@ function formatDayjsToCustomTime(date) {
59226
59704
  }
59227
59705
  function TimePickerFieldWrapper({ props, }) {
59228
59706
  const value = props.getValues(props.item.name);
59229
- return (jsxRuntimeExports.jsxs(LocalizationProvider, Object.assign({ dateAdapter: AdapterDayjs }, { children: [jsxRuntimeExports.jsx(Controller, { name: "time", control: props.control, render: ({ field }) => (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [" ", renderLabel(props.variant, props), jsxRuntimeExports.jsx(TimePicker, Object.assign({}, field, { value: value ? parseCustomTime(value) : null, onChange: (newTime) => {
59707
+ return (jsxRuntimeExports.jsxs(LocalizationProvider, Object.assign({ dateAdapter: AdapterDayjs }, { children: [jsxRuntimeExports.jsx(Controller, { name: "time", control: props.control, render: ({ field }) => (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [" ", renderLabel(props.variant, props), jsxRuntimeExports.jsx(TimePicker
59708
+ // ampm={false}
59709
+ , Object.assign({}, field, { value: value ? parseCustomTime(value) : null, onChange: (newTime) => {
59230
59710
  const parsedTime = parseCustomTime(formatDayjsToCustomTime(newTime));
59231
- const min = props.item.minTime ? parseCustomTime(props.item.minTime) : null;
59232
- const max = props.item.maxTime ? parseCustomTime(props.item.maxTime) : null;
59711
+ const min = props.item.minTime
59712
+ ? parseCustomTime(props.item.minTime)
59713
+ : null;
59714
+ const max = props.item.maxTime
59715
+ ? parseCustomTime(props.item.maxTime)
59716
+ : null;
59233
59717
  let finalTime = parsedTime;
59234
- // Auto-correct if value is outside bounds
59235
- if (min && parsedTime.isBefore(min)) {
59718
+ if (min && (parsedTime === null || parsedTime === void 0 ? void 0 : parsedTime.isBefore(min))) {
59236
59719
  finalTime = min;
59237
59720
  }
59238
- else if (max && parsedTime.isAfter(max)) {
59721
+ else if (max && (parsedTime === null || parsedTime === void 0 ? void 0 : parsedTime.isAfter(max))) {
59239
59722
  finalTime = max;
59240
59723
  }
59241
59724
  const formatted = formatDayjsToCustomTime(finalTime);
@@ -59348,7 +59831,7 @@ function formatDateMonthAndYear(date) {
59348
59831
  }
59349
59832
  const renderLabel = (variant, props) => variant === "standard" && (jsxRuntimeExports.jsxs("span", Object.assign({ className: "formInputlabel", style: { fontSize: "12px" } }, { children: [props.item.label, " ", props.item.required && jsxRuntimeExports.jsx("span", Object.assign({ style: { color: "red" } }, { children: "*" }))] })));
59350
59833
  const RenderForm = (props) => {
59351
- var _a, _b, _c;
59834
+ var _a, _b;
59352
59835
  const variant = props.variant || "";
59353
59836
  switch ((_a = props.item) === null || _a === void 0 ? void 0 : _a.inputType) {
59354
59837
  case "text":
@@ -59646,22 +60129,31 @@ const RenderForm = (props) => {
59646
60129
  // />
59647
60130
  // </>
59648
60131
  // );
59649
- case "checkbox-group":
59650
- return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [renderLabel(variant, props), jsxRuntimeExports.jsx(FormControl, Object.assign({ component: "fieldset" }, { children: jsxRuntimeExports.jsx(FormGroup, Object.assign({ row: true }, { children: ((_c = props.item) === null || _c === void 0 ? void 0 : _c.settings) &&
59651
- props.item.settings.map((settings, i) => {
59652
- return (jsxRuntimeExports.jsx(Controller, { name: settings.name, control: props.control, render: ({ field }) => {
59653
- return (jsxRuntimeExports.jsx(FormControlLabel, { control: jsxRuntimeExports.jsx(Checkbox, Object.assign({}, field, { checked: field.value })), sx: {
59654
- ".MuiCheckbox-root": {
59655
- padding: "6px 2px 6px 8px",
59656
- ".css-imrjgg-MuiButtonBase-root-MuiCheckbox-root": {
59657
- color: "rgb(0, 0, 0) !important",
59658
- },
59659
- },
59660
- },
59661
- // label={settings.label}
59662
- label: jsxRuntimeExports.jsx(Typography, Object.assign({ variant: "subtitle2", fontSize: "11px", fontWeight: "normal !important" }, { children: settings.label })), labelPlacement: "end" }));
59663
- } }, i));
59664
- }) })) })), jsxRuntimeExports.jsx(ErrorMessageComponent, { children: jsxRuntimeExports.jsx(s, { errors: props.errors, name: props.item.name }) })] }));
60132
+ case "radio-group":
60133
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [renderLabel(variant, props), jsxRuntimeExports.jsx(FormControl, Object.assign({ component: "fieldset" }, { children: jsxRuntimeExports.jsx(Controller, { name: props.item.name, control: props.control, render: ({ field }) => {
60134
+ var _a, _b;
60135
+ return (jsxRuntimeExports.jsx(RadioGroup, Object.assign({ value: field.value, onChange: (e) => {
60136
+ field.onChange(e.target.value); // update form state
60137
+ console.log(e.target.value, "radio value selected");
60138
+ props.item.onChangeFn &&
60139
+ props.item.onChangeFn(e.target.value); // optional handler
60140
+ }, row: true, sx: {
60141
+ gap: "8px",
60142
+ } }, { children: (_b = (_a = props.item) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.map((option, i) => (jsxRuntimeExports.jsx(FormControlLabel, { value: option.name, control: jsxRuntimeExports.jsx(Radio, { sx: {
60143
+ padding: "6px 2px 6px 8px",
60144
+ color: "black",
60145
+ "&.Mui-checked": {
60146
+ color: "#1976d2", // blue when selected
60147
+ },
60148
+ "& .MuiSvgIcon-root": {
60149
+ fontSize: 16, // 🔹 this actually controls the radio icon size
60150
+ },
60151
+ } }), label: jsxRuntimeExports.jsx(Typography
60152
+ // variant="subtitle2"
60153
+ , Object.assign({
60154
+ // variant="subtitle2"
60155
+ fontSize: "11px", fontWeight: "normal !important" }, { children: option.label })) }, i))) })));
60156
+ } }) })), jsxRuntimeExports.jsx(ErrorMessageComponent, { children: jsxRuntimeExports.jsx(s, { errors: props.errors, name: props.item.name }) })] }));
59665
60157
  // case "radio":
59666
60158
  // return (
59667
60159
  // <>
@@ -62389,6 +62881,7 @@ const useFormValidatingContext = (formArray) => {
62389
62881
  renderCustomError(field);
62390
62882
  break;
62391
62883
  case "checkbox-group":
62884
+ case "radio-group":
62392
62885
  initialValues[field.name] = "";
62393
62886
  if (field.required && field.errorMessage) {
62394
62887
  validationShape[field.name] = create$6()
@@ -62702,5 +63195,5 @@ const SessionTimeOut = ({ sessionTime, handleSubmitSession, onSessionExpire, han
62702
63195
  return (jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: jsxRuntimeExports.jsx(ConfirmationDialog, { openConfirmDialog: openConfirmModal, handleCancel: handleCancel, onClickSubmit: handleSubmit, text: sessionMessage, Submit: SubmitButtonName, buttonStyleProps: buttonStyleProps }) }));
62703
63196
  };
62704
63197
 
62705
- export { Box as BoxTP, Button as ButtonTP, DeleteField, DeleteField as DeleteFieldTP, CssVarsProvider as Experimental_CssVarsProvider, Grid as GridTP, FormRenderWrapper as RenderForm, FormRenderWrapper as RenderFormTP, SessionTimeOut as SessionTimeoutField, SessionTimeOut as SessionTimeoutFieldTP, StyledEngineProvider, THEME_ID, ThemeProvider, ThemeProvider$3 as ThemeProviderTP, Typography as TypographyTP, adaptV4Theme, alpha, createMuiTheme, createStyles, createTheme, css$1 as css, darken, decomposeColor, duration, easing, emphasize, styled$1 as experimentalStyled, extendTheme as experimental_extendTheme, experimental_sx, getContrastRatio, getInitColorSchemeScript, getLuminance, getOverlayAlpha$1 as getOverlayAlpha, hexToRgb, hslToRgb, keyframes, lighten, makeStyles$1 as makeStyles, createMixins as private_createMixins, createTypography as private_createTypography, excludeVariablesFromRoot$1 as private_excludeVariablesFromRoot, recomposeColor, responsiveFontSizes, rgbToHex, shouldSkipGeneratingVar, styled$1 as styled, createMuiStrictModeTheme as unstable_createMuiStrictModeTheme, getUnit as unstable_getUnit, toUnitless as unstable_toUnitless, useColorScheme, useForm as useFormElement, useForm as useFormElementTP, useFormValidatingContext, useFormValidatingContext as useFormValidatingContextTP, useTheme$2 as useTheme, useThemeProps$1 as useThemeProps, withStyles, withTheme };
63198
+ export { Box as BoxTP, Button as ButtonTP, DeleteField, DeleteField as DeleteFieldTP, CssVarsProvider as Experimental_CssVarsProvider, Grid as GridTP, FormRenderWrapper as RenderForm, FormRenderWrapper as RenderFormTP, SessionTimeOut as SessionTimeoutField, SessionTimeOut as SessionTimeoutFieldTP, StyledEngineProvider, THEME_ID, ThemeProvider, ThemeProvider$3 as ThemeProviderTP, Typography as TypographyTP, adaptV4Theme, alpha, createMuiTheme, createStyles, createTheme, css$1 as css, darken, decomposeColor, duration, easing, emphasize, styled$1 as experimentalStyled, extendTheme as experimental_extendTheme, experimental_sx, getContrastRatio, getInitColorSchemeScript, getLuminance, getOverlayAlpha$1 as getOverlayAlpha, hexToRgb, hslToRgb, keyframes, lighten, makeStyles$1 as makeStyles, createMixins as private_createMixins, createTypography as private_createTypography, excludeVariablesFromRoot$1 as private_excludeVariablesFromRoot, recomposeColor, responsiveFontSizes, rgbToHex, shouldSkipGeneratingVar, styled$1 as styled, createMuiStrictModeTheme as unstable_createMuiStrictModeTheme, getUnit as unstable_getUnit, toUnitless as unstable_toUnitless, useColorScheme, useForm as useFormElement, useForm as useFormElementTP, useFormValidatingContext, useFormValidatingContext as useFormValidatingContextTP, useTheme$2 as useTheme, useThemeProps$1 as useThemeProps, withStyles, withTheme, o as yupResolverTP };
62706
63199
  //# sourceMappingURL=index.esm.js.map