@mtes-mct/monitor-ui 6.5.2 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/ThemeProvider.d.ts +1 -1
  3. package/components/Dialog/index.d.ts +1 -1
  4. package/components/Dropdown/Item.d.ts +1 -1
  5. package/components/SingleTag.d.ts +1 -1
  6. package/elements/Button.d.ts +1 -1
  7. package/elements/Fieldset.d.ts +1 -1
  8. package/elements/IconButton.d.ts +1 -1
  9. package/elements/Tag/index.d.ts +1 -1
  10. package/fields/Checkbox.d.ts +4 -1
  11. package/fields/CoordinatesInput/DDCoordinatesInput.d.ts +1 -1
  12. package/fields/CoordinatesInput/DMDCoordinatesInput.d.ts +1 -1
  13. package/fields/CoordinatesInput/DMSCoordinatesInput.d.ts +1 -1
  14. package/fields/CoordinatesInput/index.d.ts +1 -1
  15. package/fields/DatePicker/CalendarPicker.d.ts +1 -1
  16. package/fields/DateRangePicker/RangeCalendarPicker.d.ts +1 -1
  17. package/fields/DateRangePicker/RangedTimePicker.d.ts +1 -1
  18. package/fields/MultiCheckbox.d.ts +4 -1
  19. package/fields/MultiRadio.d.ts +4 -1
  20. package/fields/MultiSelect.d.ts +1 -1
  21. package/fields/MultiZoneEditor/index.d.ts +4 -1
  22. package/fields/NumberInput.d.ts +1 -1
  23. package/fields/Search.d.ts +1 -1
  24. package/fields/Select.d.ts +1 -1
  25. package/fields/TextInput.d.ts +1 -1
  26. package/fields/Textarea.d.ts +1 -1
  27. package/formiks/FormikCheckbox.d.ts +1 -1
  28. package/formiks/FormikCoordinatesInput.d.ts +1 -1
  29. package/formiks/FormikEffect.d.ts +2 -1
  30. package/formiks/FormikMultiCheckbox.d.ts +1 -1
  31. package/formiks/FormikMultiRadio.d.ts +1 -1
  32. package/formiks/FormikMultiSelect.d.ts +1 -1
  33. package/formiks/FormikNumberInput.d.ts +1 -1
  34. package/formiks/FormikSearch.d.ts +1 -1
  35. package/formiks/FormikSelect.d.ts +1 -1
  36. package/formiks/FormikTextInput.d.ts +1 -1
  37. package/formiks/FormikTextarea.d.ts +1 -1
  38. package/icons/ActivityFeed.d.ts +1 -1
  39. package/icons/Alert.d.ts +1 -1
  40. package/icons/Anchor.d.ts +1 -1
  41. package/icons/Archive.d.ts +1 -1
  42. package/icons/Attention.d.ts +1 -1
  43. package/icons/Calendar.d.ts +1 -1
  44. package/icons/Check.d.ts +1 -1
  45. package/icons/Chevron.d.ts +1 -1
  46. package/icons/Clock.d.ts +1 -1
  47. package/icons/Close.d.ts +1 -1
  48. package/icons/Confirm.d.ts +1 -1
  49. package/icons/Control.d.ts +1 -1
  50. package/icons/Delete.d.ts +1 -1
  51. package/icons/Display.d.ts +1 -1
  52. package/icons/DoubleChevron.d.ts +1 -1
  53. package/icons/Download.d.ts +1 -1
  54. package/icons/Drapeau.d.ts +1 -1
  55. package/icons/Duplicate.d.ts +1 -1
  56. package/icons/Edit.d.ts +1 -1
  57. package/icons/EditBis.d.ts +1 -1
  58. package/icons/Expand.d.ts +1 -1
  59. package/icons/Favorite.d.ts +1 -1
  60. package/icons/FilledArrow.d.ts +1 -1
  61. package/icons/Filter.d.ts +1 -1
  62. package/icons/FilterBis.d.ts +1 -1
  63. package/icons/Fishery.d.ts +1 -1
  64. package/icons/FishingEngine.d.ts +1 -1
  65. package/icons/FleetSegment.d.ts +1 -1
  66. package/icons/Focus.d.ts +1 -1
  67. package/icons/FocusVessel.d.ts +1 -1
  68. package/icons/FocusZones.d.ts +1 -1
  69. package/icons/Hide.d.ts +1 -1
  70. package/icons/Info.d.ts +1 -1
  71. package/icons/Infringement.d.ts +1 -1
  72. package/icons/Landmark.d.ts +1 -1
  73. package/icons/List.d.ts +1 -1
  74. package/icons/MapLayers.d.ts +1 -1
  75. package/icons/MeasureAngle.d.ts +1 -1
  76. package/icons/MeasureBrokenLine.d.ts +1 -1
  77. package/icons/MeasureCircle.d.ts +1 -1
  78. package/icons/MeasureLine.d.ts +1 -1
  79. package/icons/Minus.d.ts +1 -1
  80. package/icons/MissionAction.d.ts +1 -1
  81. package/icons/More.d.ts +1 -1
  82. package/icons/Note.d.ts +1 -1
  83. package/icons/Observation.d.ts +1 -1
  84. package/icons/Pin.d.ts +1 -1
  85. package/icons/Pinpoint.d.ts +1 -1
  86. package/icons/PinpointHide.d.ts +1 -1
  87. package/icons/Plane.d.ts +1 -1
  88. package/icons/Plus.d.ts +1 -1
  89. package/icons/Reject.d.ts +1 -1
  90. package/icons/Report.d.ts +1 -1
  91. package/icons/Save.d.ts +1 -1
  92. package/icons/Search.d.ts +1 -1
  93. package/icons/SelectCircle.d.ts +1 -1
  94. package/icons/SelectPolygon.d.ts +1 -1
  95. package/icons/SelectRectangle.d.ts +1 -1
  96. package/icons/SelectZone.d.ts +1 -1
  97. package/icons/Semaphore.d.ts +1 -1
  98. package/icons/ShowErsMessages.d.ts +1 -1
  99. package/icons/ShowXml.d.ts +1 -1
  100. package/icons/SortingArrows.d.ts +1 -1
  101. package/icons/Summary.d.ts +1 -1
  102. package/icons/Tag.d.ts +1 -1
  103. package/icons/Target.d.ts +1 -1
  104. package/icons/Unlock.d.ts +1 -1
  105. package/icons/Vessel.d.ts +1 -1
  106. package/icons/ViewOnMap.d.ts +1 -1
  107. package/icons/Vms.d.ts +1 -1
  108. package/index.d.ts +0 -1
  109. package/index.js +43 -27
  110. package/index.js.map +1 -1
  111. package/package.json +1 -1
  112. package/utils/noop.d.ts +0 -1
  113. package/utils/toggleInCollection.d.ts +0 -6
package/icons/More.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function More({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function More({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Note.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Note({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Note({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Observation({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Observation({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Pin.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Pin({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Pin({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Pinpoint({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Pinpoint({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function PinpointHide({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function PinpointHide({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Plane.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Plane({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Plane({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Plus.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Plus({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Plus({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Reject.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Reject({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Reject({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Report.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Report({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Report({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Save.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Save({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Save({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Search.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Search({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Search({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function SelectCircle({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function SelectCircle({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function SelectPolygon({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function SelectPolygon({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function SelectRectangle({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function SelectRectangle({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function SelectZone({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function SelectZone({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Semaphore({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Semaphore({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function ShowErsMessages({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function ShowErsMessages({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function ShowXml({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function ShowXml({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function SortingArrows({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function SortingArrows({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Summary({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Summary({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Tag.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Tag({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Tag({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Target.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Target({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Target({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Unlock.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Unlock({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Unlock({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Vessel.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Vessel({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Vessel({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function ViewOnMap({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function ViewOnMap({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/icons/Vms.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { IconProps } from '../types';
2
- export declare function Vms({ color, size, ...nativeProps }: IconProps): JSX.Element;
2
+ export declare function Vms({ color, size, ...nativeProps }: IconProps): import("react/jsx-runtime").JSX.Element;
package/index.d.ts CHANGED
@@ -62,7 +62,6 @@ export { getCoordinates, coordinatesAreDistinct } from './utils/coordinates';
62
62
  export { getLocalizedDayjs } from './utils/getLocalizedDayjs';
63
63
  export { getPseudoRandomString } from './utils/getPseudoRandomString';
64
64
  export { getUtcizedDayjs } from './utils/getUtcizedDayjs';
65
- export { noop } from './utils/noop';
66
65
  export { isNumeric } from './utils/isNumeric';
67
66
  export { stopMouseEventPropagation } from './utils/stopMouseEventPropagation';
68
67
  export type { PartialTheme, Theme } from './theme';
package/index.js CHANGED
@@ -20739,7 +20739,7 @@ function normalizeString(text) {
20739
20739
  return cleanText.length > 0 ? cleanText : undefined;
20740
20740
  }
20741
20741
 
20742
- function Search({ baseContainer, className, customSearch = undefined, customSearchMinQueryLength = 1, error, isErrorMessageHidden = false, isLabelHidden, isLight = false, isSearchIconVisible = true, label, MenuItem, onChange, onQuery, options = [], optionValueKey, value, ...originalProps }) {
20742
+ function Search({ baseContainer, className, customSearch = undefined, customSearchMinQueryLength = 1, error, isErrorMessageHidden = false, isLabelHidden, isLight = false, isSearchIconVisible = true, label, MenuItem, onChange, onQuery, options = [], optionValueKey, style, value, ...originalProps }) {
20743
20743
  // eslint-disable-next-line no-null/no-null
20744
20744
  const boxRef = useRef(null);
20745
20745
  /** Instance of `CustomSearch` */
@@ -20799,7 +20799,7 @@ function Search({ baseContainer, className, customSearch = undefined, customSear
20799
20799
  useEffect(() => {
20800
20800
  forceUpdate();
20801
20801
  }, [forceUpdate]);
20802
- return (jsxs(Field$2, { className: controlledClassName, children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsxs(Box$d, { ref: boxRef, isLight: isLight, children: [boxRef.current && (jsx(StyledAutoComplete, { "$isLight": isLight, container: boxRef.current,
20802
+ return (jsxs(Field$2, { className: controlledClassName, style: style, children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsxs(Box$d, { ref: boxRef, isLight: isLight, children: [boxRef.current && (jsx(StyledAutoComplete, { "$isLight": isLight, container: boxRef.current,
20803
20803
  // When we use a custom search, we use `controlledRsuiteData` to provide the matching options (data),
20804
20804
  // when we don't, we don't need to control that and just pass the non-internally-controlled `rsuiteData`
20805
20805
  data: controlledRsuiteData || data,
@@ -20869,7 +20869,8 @@ const Box$d = styled.div `
20869
20869
  }
20870
20870
  `;
20871
20871
 
20872
- function Checkbox({ checked = false, error, isErrorMessageHidden = false, isUndefinedWhenDisabled = false, label, onChange, ...originalProps }) {
20872
+ function Checkbox({ checked = false, className, error, isErrorMessageHidden = false, isUndefinedWhenDisabled = false, label, onChange, style, ...originalProps }) {
20873
+ const controlledClassName = useMemo(() => classnames('Field-Checkbox', className), [className]);
20873
20874
  const controlledError = useMemo(() => normalizeString(error), [error]);
20874
20875
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
20875
20876
  const key = getPseudoRandomString();
@@ -20880,7 +20881,7 @@ function Checkbox({ checked = false, error, isErrorMessageHidden = false, isUnde
20880
20881
  onChange(isChecked);
20881
20882
  }, [onChange]);
20882
20883
  useFieldUndefineEffect(isUndefinedWhenDisabled && originalProps.disabled, onChange);
20883
- return (jsxs(Field$2, { className: "Field-Checkbox", children: [jsx(StyledCheckbox, { checked: checked, id: originalProps.name, onChange: handleChange, ...originalProps, children: label }, key), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError })] }));
20884
+ return (jsxs(Field$2, { className: controlledClassName, style: style, children: [jsx(StyledCheckbox, { checked: checked, id: originalProps.name, onChange: handleChange, ...originalProps, children: label }, key), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError })] }));
20884
20885
  }
20885
20886
  const StyledCheckbox = styled(Checkbox$1) `
20886
20887
  > .rs-checkbox-checker {
@@ -21754,7 +21755,7 @@ const InputGroup = styled.div `
21754
21755
  }
21755
21756
  `;
21756
21757
 
21757
- function DatePicker({ baseContainer, className, defaultValue, disabled = false, error, isCompact = false, isEndDate = false, isErrorMessageHidden = false, isHistorical = false, isLabelHidden = false, isLight = false, isStringDate = false, isUndefinedWhenDisabled = false, label, minutesRange = 15, onChange, withTime = false, ...nativeProps }) {
21758
+ function DatePicker({ baseContainer, className, defaultValue, disabled = false, error, isCompact = false, isEndDate = false, isErrorMessageHidden = false, isHistorical = false, isLabelHidden = false, isLight = false, isStringDate = false, isUndefinedWhenDisabled = false, label, minutesRange = 15, onChange, style, withTime = false, ...nativeProps }) {
21758
21759
  /* eslint-disable no-null/no-null */
21759
21760
  const boxRef = useRef(null);
21760
21761
  const dateInputRef = useRef(null);
@@ -21893,7 +21894,7 @@ function DatePicker({ baseContainer, className, defaultValue, disabled = false,
21893
21894
  selectedUtcTimeTupleRef.current = getUtcTimeTupleFromDayjs(selectedUtcDateAsDayjsRef.current);
21894
21895
  forceUpdate();
21895
21896
  }, [defaultValue, forceUpdate, previousDefaultValue]);
21896
- return (jsxs(Fieldset, { className: controlledClassName, disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, legend: label, ...nativeProps, children: [jsxs(Box$8, { ref: boxRef, "$hasError": hasError, "$isDisabled": disabled, children: [jsx(Field$1, { children: jsx(DateInput, { ref: dateInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isEndDate: isEndDate, isForcedFocused: isCalendarPickerOpenRef.current, isLight: isLight, onChange: handleDateInputChange, onClick: openCalendarPicker, onInput: handleDateOrTimeInputInput, onNext: handleDateInputNext, value: selectedUtcDateTupleRef.current }) }), withTime && (jsx(Field$1, { "$isTimeField": true, children: jsx(TimeInput, { ref: timeInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isLight: isLight, minutesRange: minutesRange, onBack: () => dateInputRef.current?.focus(true), onChange: handleTimeInputFilled, onFocus: closeCalendarPicker, onInput: handleDateOrTimeInputInput, onPrevious: () => dateInputRef.current?.focus(true), value: selectedUtcTimeTupleRef.current }, JSON.stringify(selectedUtcTimeTupleRef.current)) }))] }), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError }), jsx(CalendarPicker, { isHistorical: isHistorical, isOpen: isCalendarPickerOpenRef.current, onChange: handleCalendarPickerChange, value: calendarPickerDefaultValue })] }));
21897
+ return (jsxs(Fieldset, { className: controlledClassName, disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, legend: label, style: style, ...nativeProps, children: [jsxs(Box$8, { ref: boxRef, "$hasError": hasError, "$isDisabled": disabled, children: [jsx(Field$1, { children: jsx(DateInput, { ref: dateInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isEndDate: isEndDate, isForcedFocused: isCalendarPickerOpenRef.current, isLight: isLight, onChange: handleDateInputChange, onClick: openCalendarPicker, onInput: handleDateOrTimeInputInput, onNext: handleDateInputNext, value: selectedUtcDateTupleRef.current }) }), withTime && (jsx(Field$1, { "$isTimeField": true, children: jsx(TimeInput, { ref: timeInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isLight: isLight, minutesRange: minutesRange, onBack: () => dateInputRef.current?.focus(true), onChange: handleTimeInputFilled, onFocus: closeCalendarPicker, onInput: handleDateOrTimeInputInput, onPrevious: () => dateInputRef.current?.focus(true), value: selectedUtcTimeTupleRef.current }, JSON.stringify(selectedUtcTimeTupleRef.current)) }))] }), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError }), jsx(CalendarPicker, { isHistorical: isHistorical, isOpen: isCalendarPickerOpenRef.current, onChange: handleCalendarPickerChange, value: calendarPickerDefaultValue })] }));
21897
21898
  }
21898
21899
  const Box$8 = styled.div `
21899
21900
  * {
@@ -22135,7 +22136,7 @@ var DateRangePosition;
22135
22136
  DateRangePosition["START"] = "START";
22136
22137
  })(DateRangePosition || (DateRangePosition = {}));
22137
22138
 
22138
- function DateRangePicker({ baseContainer, className, defaultValue, disabled = false, error, isCompact = false, isErrorMessageHidden = false, isHistorical = false, isLabelHidden = false, isLight = false, isStringDate = false, isUndefinedWhenDisabled = false, label, minutesRange = 15, onChange, withTime = false, ...nativeProps }) {
22139
+ function DateRangePicker({ baseContainer, className, defaultValue, disabled = false, error, isCompact = false, isErrorMessageHidden = false, isHistorical = false, isLabelHidden = false, isLight = false, isStringDate = false, isUndefinedWhenDisabled = false, label, minutesRange = 15, onChange, style, withTime = false, ...nativeProps }) {
22139
22140
  /* eslint-disable no-null/no-null */
22140
22141
  const startDateInputRef = useRef(null);
22141
22142
  const startTimeInputRef = useRef(null);
@@ -22359,7 +22360,7 @@ function DateRangePicker({ baseContainer, className, defaultValue, disabled = fa
22359
22360
  selectedEndTimeTupleRef.current = getUtcTimeTupleFromDayjs(selectedEndDateAsDayjsRef.current);
22360
22361
  forceUpdate();
22361
22362
  }, [defaultValue, forceUpdate, previousDefaultValue]);
22362
- return (jsxs(Fieldset, { className: controlledClassName, disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, legend: label, ...nativeProps, children: [jsxs(Box$6, { "$hasError": hasError, "$isDisabled": disabled, children: [jsx(Field, { children: jsx(DateInput, { ref: startDateInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isForcedFocused: isRangeCalendarPickerOpenRef.current, isLight: isLight, isRange: true, isStartDate: true, onChange: (nextDateTuple, isFilled) => handleDateInputChange(DateRangePosition.START, nextDateTuple, isFilled), onClick: openRangeCalendarPicker, onInput: handleDateOrTimeInputInput, onNext: handleStartDateInputNext, value: selectedStartDateTupleRef.current }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: startTimeInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isLight: isLight, isStartDate: true, minutesRange: minutesRange, onBack: () => startDateInputRef.current?.focus(true), onChange: nextTimeTuple => handleTimeInputFilled(DateRangePosition.START, nextTimeTuple), onFocus: closeRangeCalendarPicker, onInput: handleDateOrTimeInputInput, onNext: () => endDateInputRef.current?.focus(), onPrevious: () => startDateInputRef.current?.focus(true), value: selectedStartTimeTupleRef.current }) })), jsx(Field, { isEndDateField: true, children: jsx(DateInput, { ref: endDateInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isEndDate: true, isForcedFocused: isRangeCalendarPickerOpenRef.current, isLight: isLight, isRange: true, onBack: handleEndDateInputPrevious, onChange: (nextDateTuple, isFilled) => handleDateInputChange(DateRangePosition.END, nextDateTuple, isFilled), onClick: openRangeCalendarPicker, onInput: handleDateOrTimeInputInput, onNext: handleEndDateInputNext, onPrevious: handleEndDateInputPrevious, value: selectedEndDateTupleRef.current }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: endTimeInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isEndDate: true, isLight: isLight, minutesRange: minutesRange, onBack: () => endDateInputRef.current?.focus(true), onChange: nextTimeTuple => handleTimeInputFilled(DateRangePosition.END, nextTimeTuple), onFocus: closeRangeCalendarPicker, onInput: handleDateOrTimeInputInput, onPrevious: () => endDateInputRef.current?.focus(true), value: selectedEndTimeTupleRef.current }) }))] }), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError }), jsx(RangeCalendarPicker, { defaultValue: rangeCalendarPickerDefaultValue, isHistorical: isHistorical, isOpen: isRangeCalendarPickerOpenRef.current, onChange: handleRangeCalendarPickerChange })] }));
22363
+ return (jsxs(Fieldset, { className: controlledClassName, disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, legend: label, style: style, ...nativeProps, children: [jsxs(Box$6, { "$hasError": hasError, "$isDisabled": disabled, children: [jsx(Field, { children: jsx(DateInput, { ref: startDateInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isForcedFocused: isRangeCalendarPickerOpenRef.current, isLight: isLight, isRange: true, isStartDate: true, onChange: (nextDateTuple, isFilled) => handleDateInputChange(DateRangePosition.START, nextDateTuple, isFilled), onClick: openRangeCalendarPicker, onInput: handleDateOrTimeInputInput, onNext: handleStartDateInputNext, value: selectedStartDateTupleRef.current }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: startTimeInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isLight: isLight, isStartDate: true, minutesRange: minutesRange, onBack: () => startDateInputRef.current?.focus(true), onChange: nextTimeTuple => handleTimeInputFilled(DateRangePosition.START, nextTimeTuple), onFocus: closeRangeCalendarPicker, onInput: handleDateOrTimeInputInput, onNext: () => endDateInputRef.current?.focus(), onPrevious: () => startDateInputRef.current?.focus(true), value: selectedStartTimeTupleRef.current }) })), jsx(Field, { isEndDateField: true, children: jsx(DateInput, { ref: endDateInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isEndDate: true, isForcedFocused: isRangeCalendarPickerOpenRef.current, isLight: isLight, isRange: true, onBack: handleEndDateInputPrevious, onChange: (nextDateTuple, isFilled) => handleDateInputChange(DateRangePosition.END, nextDateTuple, isFilled), onClick: openRangeCalendarPicker, onInput: handleDateOrTimeInputInput, onNext: handleEndDateInputNext, onPrevious: handleEndDateInputPrevious, value: selectedEndDateTupleRef.current }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: endTimeInputRef, baseContainer: baseContainer || undefined, disabled: disabled, isCompact: isCompact, isEndDate: true, isLight: isLight, minutesRange: minutesRange, onBack: () => endDateInputRef.current?.focus(true), onChange: nextTimeTuple => handleTimeInputFilled(DateRangePosition.END, nextTimeTuple), onFocus: closeRangeCalendarPicker, onInput: handleDateOrTimeInputInput, onPrevious: () => endDateInputRef.current?.focus(true), value: selectedEndTimeTupleRef.current }) }))] }), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError }), jsx(RangeCalendarPicker, { defaultValue: rangeCalendarPickerDefaultValue, isHistorical: isHistorical, isOpen: isRangeCalendarPickerOpenRef.current, onChange: handleRangeCalendarPickerChange })] }));
22363
22364
  }
22364
22365
  const Box$6 = styled.div `
22365
22366
  * {
@@ -22392,7 +22393,8 @@ const Field = styled.span `
22392
22393
  }};
22393
22394
  `;
22394
22395
 
22395
- function MultiCheckbox({ disabled = false, error, isErrorMessageHidden = false, isInline = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, name, onChange, options, value }) {
22396
+ function MultiCheckbox({ className, disabled = false, error, isErrorMessageHidden = false, isInline = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, name, onChange, options, style, value }) {
22397
+ const controlledClassName = useMemo(() => classnames('Field-MultiCheckbox', className), [className]);
22396
22398
  const controlledError = useMemo(() => normalizeString(error), [error]);
22397
22399
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
22398
22400
  const key = useKey([value, disabled, name]);
@@ -22407,7 +22409,7 @@ function MultiCheckbox({ disabled = false, error, isErrorMessageHidden = false,
22407
22409
  onChange(normalizedNextValue);
22408
22410
  }, [onChange, value]);
22409
22411
  useFieldUndefineEffect(isUndefinedWhenDisabled && disabled, onChange);
22410
- return (jsxs(Fieldset, { className: "Field-MultiCheckbox", disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, isLight: isLight, legend: label, children: [jsx(ChecboxesBox, { "$hasError": hasError, "$isInline": isInline, children: options.map((option, index) => (jsx(Checkbox, { checked: includes$1(option.value, value || []), disabled: disabled, label: option.label, name: `${name}${index}`, onChange: (isChecked) => handleChange(option.value, isChecked) }, JSON.stringify(option.value)))) }, key), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError })] }));
22412
+ return (jsxs(Fieldset, { className: controlledClassName, disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, isLight: isLight, legend: label, style: style, children: [jsx(ChecboxesBox, { "$hasError": hasError, "$isInline": isInline, children: options.map((option, index) => (jsx(Checkbox, { checked: includes$1(option.value, value || []), disabled: disabled, label: option.label, name: `${name}${index}`, onChange: (isChecked) => handleChange(option.value, isChecked) }, JSON.stringify(option.value)))) }, key), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError })] }));
22411
22413
  }
22412
22414
  const ChecboxesBox = styled.div `
22413
22415
  color: ${p => p.theme.color.gunMetal};
@@ -25746,11 +25748,12 @@ class CustomSearch {
25746
25748
  }
25747
25749
  }
25748
25750
 
25749
- function MultiSelect({ baseContainer, customSearch, customSearchMinQueryLength = 1, disabled = false, error, isErrorMessageHidden = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, onChange, options, optionValueKey, searchable = false, value, ...originalProps }) {
25751
+ function MultiSelect({ baseContainer, className, customSearch, customSearchMinQueryLength = 1, disabled = false, error, isErrorMessageHidden = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, onChange, options, optionValueKey, searchable = false, style, value, ...originalProps }) {
25750
25752
  // eslint-disable-next-line no-null/no-null
25751
25753
  const boxRef = useRef(null);
25752
25754
  /** Instance of `CustomSearch` */
25753
25755
  const customSearchRef = useRef(customSearch);
25756
+ const controlledClassName = useMemo(() => classnames('Field-MultiSelect', className), [className]);
25754
25757
  const controlledError = useMemo(() => normalizeString(error), [error]);
25755
25758
  const rsuiteData = useMemo(() => getRsuiteDataFromOptions(options, optionValueKey), [options, optionValueKey]);
25756
25759
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
@@ -25806,7 +25809,7 @@ function MultiSelect({ baseContainer, customSearch, customSearchMinQueryLength =
25806
25809
  useEffect(() => {
25807
25810
  forceUpdate();
25808
25811
  }, [forceUpdate]);
25809
- return (jsxs(Field$2, { className: "Field-MultiSelect", children: [jsx(Label, { disabled: disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(Box$5, { ref: boxRef, "$hasError": hasError, "$isActive": isOpen, "$isLight": isLight, onClick: toggle, children: boxRef.current && (jsx(TagPicker, { container: boxRef.current,
25812
+ return (jsxs(Field$2, { className: controlledClassName, style: style, children: [jsx(Label, { disabled: disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(Box$5, { ref: boxRef, "$hasError": hasError, "$isActive": isOpen, "$isLight": isLight, onClick: toggle, children: boxRef.current && (jsx(TagPicker, { container: boxRef.current,
25810
25813
  // When we use a custom search, we use `controlledRsuiteData` to provide the matching options (data),
25811
25814
  // when we don't, we don't need to control that and just pass the non-internally-controlled `rsuiteData`
25812
25815
  data: controlledRsuiteData || rsuiteData, disabled: disabled, id: originalProps.name, onChange: handleChange, onClick: toggle, onSearch: handleSearch, open: isOpen, renderMenuItem: renderMenuItem, searchable: !!customSearch || searchable,
@@ -25936,7 +25939,8 @@ const Box$5 = styled.div `
25936
25939
  }
25937
25940
  `;
25938
25941
 
25939
- function MultiRadio({ disabled = false, error, isErrorMessageHidden = false, isInline = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, name, onChange, options, value }) {
25942
+ function MultiRadio({ className, disabled = false, error, isErrorMessageHidden = false, isInline = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, name, onChange, options, style, value }) {
25943
+ const controlledClassName = useMemo(() => classnames('Field-MultiRadio', className), [className]);
25940
25944
  const controlledError = useMemo(() => normalizeString(error), [error]);
25941
25945
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
25942
25946
  const key = useKey([value, disabled, name]);
@@ -25948,7 +25952,7 @@ function MultiRadio({ disabled = false, error, isErrorMessageHidden = false, isI
25948
25952
  onChange(nextCheckedOptionValue);
25949
25953
  }, [onChange]);
25950
25954
  useFieldUndefineEffect(isUndefinedWhenDisabled && disabled, onChange);
25951
- return (jsxs(Fieldset, { className: "Field-MultiRadio", disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, isLight: isLight, legend: label, children: [jsx(Box$4, { "$hasError": hasError, "$isInline": isInline, children: options.map(option => (jsx(Radio, { checked: equals$1(option.value, value), disabled: disabled, name: name, onChange: (_, isChecked) => handleChange(option.value, isChecked), children: option.label }, JSON.stringify(option.value)))) }, key), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError })] }));
25955
+ return (jsxs(Fieldset, { className: controlledClassName, disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, isLight: isLight, legend: label, style: style, children: [jsx(Box$4, { "$hasError": hasError, "$isInline": isInline, children: options.map(option => (jsx(Radio, { checked: equals$1(option.value, value), disabled: disabled, name: name, onChange: (_, isChecked) => handleChange(option.value, isChecked), children: option.label }, JSON.stringify(option.value)))) }, key), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError })] }));
25952
25956
  }
25953
25957
  const Box$4 = styled.div `
25954
25958
  color: ${p => p.theme.color.gunMetal};
@@ -25989,9 +25993,10 @@ const Box$4 = styled.div `
25989
25993
  `}
25990
25994
  `;
25991
25995
 
25992
- function MultiZoneEditor({ addButtonLabel, defaultValue = [], disabled = false, error, initialZone, isAddButtonDisabled = false, isLabelHidden = false, isLight = false, label, labelPropName, onAdd, onCenter, onChange, onDelete, onEdit }) {
25996
+ function MultiZoneEditor({ addButtonLabel, className, defaultValue = [], disabled = false, error, initialZone, isAddButtonDisabled = false, isLabelHidden = false, isLight = false, label, labelPropName, onAdd, onCenter, onChange, onDelete, onEdit, style }) {
25993
25997
  const prevDefaultValueRef = useRef(defaultValue);
25994
25998
  const [zones, setZones] = useState(defaultValue);
25999
+ const controlledClassName = useMemo(() => classnames('Field-MultiZoneEditor', className), [className]);
25995
26000
  const controlledError = useMemo(() => normalizeString(error), [error]);
25996
26001
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
25997
26002
  const addZone = useCallback(() => {
@@ -26028,7 +26033,7 @@ function MultiZoneEditor({ addButtonLabel, defaultValue = [], disabled = false,
26028
26033
  setZones(defaultValue);
26029
26034
  }, [defaultValue]);
26030
26035
  useFieldUndefineEffect(disabled, onChange, handleDisable);
26031
- return (jsxs(Fieldset, { className: "Field-MultiZoneEditor", disabled: disabled, isLegendHidden: isLabelHidden, legend: label, children: [jsx(Button, { accent: Accent.SECONDARY, disabled: disabled || isAddButtonDisabled, Icon: Plus, isFullWidth: true, onClick: addZone, children: addButtonLabel }), jsx(Fragment, { children: zones.map((zone, index) => (
26036
+ return (jsxs(Fieldset, { className: controlledClassName, disabled: disabled, isLegendHidden: isLabelHidden, legend: label, style: style, children: [jsx(Button, { accent: Accent.SECONDARY, disabled: disabled || isAddButtonDisabled, Icon: Plus, isFullWidth: true, onClick: addZone, children: addButtonLabel }), jsx(Fragment, { children: zones.map((zone, index) => (
26032
26037
  // eslint-disable-next-line react/no-array-index-key
26033
26038
  jsxs(Row, { children: [jsxs(ZoneBox, { "$isLight": isLight, children: [zone[labelPropName], jsxs(Link, { onClick: () => centerZone(zone), children: [jsx(SelectRectangle, {}), jsx("span", { children: "Centrer sur la carte" })] })] }), jsx(IconButton, { accent: Accent.SECONDARY, Icon: Edit, onClick: () => editZone(index, zone) }), jsx(IconButton, { accent: Accent.SECONDARY, "aria-label": "Supprimer cette zone", Icon: Delete, onClick: () => deleteZone(index) })] }, `zone-${index}`))) }), hasError && jsx(FieldError, { children: controlledError })] }));
26034
26039
  }
@@ -34984,9 +34989,7 @@ const Box$1 = styled.div `
34984
34989
  text-align: left;
34985
34990
  `;
34986
34991
 
34987
- const noop = () => { };
34988
-
34989
- function CoordinatesInput({ className, coordinatesFormat, defaultValue, error, isLabelHidden = false, isLight = false, label, onChange = noop, ...nativeProps }) {
34992
+ function CoordinatesInput({ className, coordinatesFormat, defaultValue, error, isLabelHidden = false, isLight = false, label, onChange = fp.noop, ...nativeProps }) {
34990
34993
  const controlledClassName = classnames('Field-CoordinatesInput', className);
34991
34994
  const controlledError = useMemo(() => normalizeString(error), [error]);
34992
34995
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
@@ -35016,12 +35019,13 @@ const StyledFieldset = styled(Fieldset) `
35016
35019
  }
35017
35020
  `;
35018
35021
 
35019
- function Select({ baseContainer, customSearch, customSearchMinQueryLength = 1, disabled = false, error, isCleanable = true, isErrorMessageHidden = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, onChange, options, optionValueKey, searchable = false, value, ...originalProps }) {
35022
+ function Select({ baseContainer, className, customSearch, customSearchMinQueryLength = 1, disabled = false, error, isCleanable = true, isErrorMessageHidden = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, onChange, options, optionValueKey, searchable = false, style, value, ...originalProps }) {
35020
35023
  // eslint-disable-next-line no-null/no-null
35021
35024
  const boxRef = useRef(null);
35022
35025
  /** Instance of `CustomSearch` */
35023
35026
  const customSearchRef = useRef(customSearch);
35024
35027
  const { forceUpdate } = useForceUpdate();
35028
+ const controlledClassname = useMemo(() => classnames('Field-Select', className), [className]);
35025
35029
  const controlledError = useMemo(() => normalizeString(error), [error]);
35026
35030
  const rsuiteData = useMemo(() => getRsuiteDataFromOptions(options, optionValueKey), [options, optionValueKey]);
35027
35031
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
@@ -35075,7 +35079,7 @@ function Select({ baseContainer, customSearch, customSearchMinQueryLength = 1, d
35075
35079
  useEffect(() => {
35076
35080
  forceUpdate();
35077
35081
  }, [forceUpdate]);
35078
- return (jsxs(Field$2, { className: "Field-Select", children: [jsx(Label, { disabled: disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(Box, { ref: boxRef, "$hasError": hasError, onClick: toggle, children: boxRef.current && (jsx(StyledSelectPicker, { "$isLight": isLight, cleanable: isCleanable, container: boxRef.current,
35082
+ return (jsxs(Field$2, { className: controlledClassname, style: style, children: [jsx(Label, { disabled: disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(Box, { ref: boxRef, "$hasError": hasError, onClick: toggle, children: boxRef.current && (jsx(StyledSelectPicker, { "$isLight": isLight, cleanable: isCleanable, container: boxRef.current,
35079
35083
  // When we use a custom search, we use `controlledRsuiteData` to provide the matching options (data),
35080
35084
  // when we don't, we don't need to control that and just pass the non-internally-controlled `rsuiteData`
35081
35085
  data: controlledRsuiteData || rsuiteData, disabled: disabled, id: originalProps.name, onClean: handleClean, onSearch: handleSearch,
@@ -35168,8 +35172,9 @@ const Box = styled.div `
35168
35172
  }
35169
35173
  `;
35170
35174
 
35171
- function Textarea({ error, isErrorMessageHidden = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, onChange, rows = 3, value, ...originalProps }) {
35175
+ function Textarea({ className, error, isErrorMessageHidden = false, isLabelHidden = false, isLight = false, isUndefinedWhenDisabled = false, label, onChange, rows = 3, style, value, ...originalProps }) {
35172
35176
  const inputRef = useRef();
35177
+ const controlledClassname = useMemo(() => classnames('Field-Textarea', className), [className]);
35173
35178
  const controlledError = useMemo(() => normalizeString(error), [error]);
35174
35179
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
35175
35180
  const key = useKey([originalProps.disabled, originalProps.name]);
@@ -35182,7 +35187,7 @@ function Textarea({ error, isErrorMessageHidden = false, isLabelHidden = false,
35182
35187
  onChange(normalizedNextValue);
35183
35188
  }, [onChange]);
35184
35189
  useFieldUndefineEffect(isUndefinedWhenDisabled && originalProps.disabled, onChange);
35185
- return (jsxs(Field$2, { className: "Field-Textarea", children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(StyledInput$1, { ref: inputRef, "$hasError": hasError, "$isLight": isLight, as: "textarea", id: originalProps.name, onChange: handleChange, rows: rows, value: value || '', ...originalProps }, key), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError })] }));
35190
+ return (jsxs(Field$2, { className: controlledClassname, style: style, children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(StyledInput$1, { ref: inputRef, "$hasError": hasError, "$isLight": isLight, as: "textarea", id: originalProps.name, onChange: handleChange, rows: rows, value: value || '', ...originalProps }, key), !isErrorMessageHidden && hasError && jsx(FieldError, { children: controlledError })] }));
35186
35191
  }
35187
35192
  const StyledInput$1 = styled(Input) `
35188
35193
  background-color: ${p => (p.$isLight ? p.theme.color.white : p.theme.color.gainsboro)};
@@ -35332,11 +35337,22 @@ function FormikDateRangePicker({ name, ...originalProps }) {
35332
35337
  return (jsx(UntypedDateRangePicker, { defaultValue: field.value, error: meta.error, onChange: handleChange, ...originalProps }));
35333
35338
  }
35334
35339
 
35335
- function FormikEffect({ onChange }) {
35336
- const { values } = useFormikContext();
35340
+ function FormikEffect({ onChange, onError }) {
35341
+ const { errors, values } = useFormikContext();
35342
+ const previousErrors = usePrevious(errors);
35343
+ const previousValues = usePrevious(values);
35337
35344
  useEffect(() => {
35345
+ if (fp.isEqual(previousValues, values)) {
35346
+ return;
35347
+ }
35338
35348
  onChange(values);
35339
- }, [onChange, values]);
35349
+ }, [onChange, previousValues, values]);
35350
+ useEffect(() => {
35351
+ if (!onError || fp.isEqual(previousErrors, errors)) {
35352
+ return;
35353
+ }
35354
+ onError(errors);
35355
+ }, [errors, onError, previousErrors]);
35340
35356
  return jsx(Fragment, {});
35341
35357
  }
35342
35358
 
@@ -35449,5 +35465,5 @@ function useNewWindow() {
35449
35465
  return contextValue;
35450
35466
  }
35451
35467
 
35452
- export { Accent, Button, Checkbox, CoordinatesFormat, CoordinatesInput, CustomSearch, DatePicker, DateRangePicker, Dialog, Dropdown, Field$2 as Field, Fieldset, FormikCheckbox, FormikCoordinatesInput, FormikDatePicker, FormikDateRangePicker, FormikEffect, FormikMultiCheckbox, FormikMultiRadio, FormikMultiSelect, FormikNumberInput, FormikSearch, FormikSelect, FormikTextInput, FormikTextarea, GlobalStyle, index as Icon, IconButton, Label, Legend, MultiCheckbox, MultiRadio, MultiSelect, MultiZoneEditor, NewWindow, NewWindowContext, NumberInput, OPENLAYERS_PROJECTION, OnlyFontGlobalStyle, Search, Select, SimpleTable, SingleTag, Size, THEME, Tag, TagBullet, TagGroup, TextInput, Textarea, ThemeProvider, WSG84_PROJECTION, coordinatesAreDistinct, customDayjs, getCoordinates, getLocalizedDayjs, getPseudoRandomString, getUtcizedDayjs, isNumeric, noop, stopMouseEventPropagation, useClickOutsideEffect, useFieldControl, useForceUpdate, useKey, useNewWindow, usePrevious };
35468
+ export { Accent, Button, Checkbox, CoordinatesFormat, CoordinatesInput, CustomSearch, DatePicker, DateRangePicker, Dialog, Dropdown, Field$2 as Field, Fieldset, FormikCheckbox, FormikCoordinatesInput, FormikDatePicker, FormikDateRangePicker, FormikEffect, FormikMultiCheckbox, FormikMultiRadio, FormikMultiSelect, FormikNumberInput, FormikSearch, FormikSelect, FormikTextInput, FormikTextarea, GlobalStyle, index as Icon, IconButton, Label, Legend, MultiCheckbox, MultiRadio, MultiSelect, MultiZoneEditor, NewWindow, NewWindowContext, NumberInput, OPENLAYERS_PROJECTION, OnlyFontGlobalStyle, Search, Select, SimpleTable, SingleTag, Size, THEME, Tag, TagBullet, TagGroup, TextInput, Textarea, ThemeProvider, WSG84_PROJECTION, coordinatesAreDistinct, customDayjs, getCoordinates, getLocalizedDayjs, getPseudoRandomString, getUtcizedDayjs, isNumeric, stopMouseEventPropagation, useClickOutsideEffect, useFieldControl, useForceUpdate, useKey, useNewWindow, usePrevious };
35453
35469
  //# sourceMappingURL=index.js.map