@ultraviolet/form 3.16.0 → 3.17.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.
@@ -8,7 +8,7 @@ const maxDate = require("../../validators/maxDate.cjs");
8
8
  const minDate = require("../../validators/minDate.cjs");
9
9
  const index = require("../../providers/ErrorContext/index.cjs");
10
10
  const parseDate = (value) => typeof value === "string" ? new Date(value) : value;
11
- const isEmpty = (value) => typeof value === "string" ? value === "" : value === void 0;
11
+ const isEmpty = (value) => !value;
12
12
  const DateField = ({
13
13
  required,
14
14
  name,
@@ -28,6 +28,8 @@ const DateField = ({
28
28
  selectsRange,
29
29
  size,
30
30
  placeholder,
31
+ tooltip,
32
+ clearable,
31
33
  "data-testid": dataTestId,
32
34
  shouldUnregister = false,
33
35
  showMonthYearPicker,
@@ -73,6 +75,10 @@ const DateField = ({
73
75
  newDate.setHours(currentDate.getHours(), currentDate.getMinutes());
74
76
  field.onChange(newDate);
75
77
  } else if (Array.isArray(val)) {
78
+ onChange?.(val);
79
+ field.onChange(val);
80
+ } else if (val === null) {
81
+ onChange?.(val);
76
82
  field.onChange(val);
77
83
  }
78
84
  }, onBlur: (e) => {
@@ -82,6 +88,6 @@ const DateField = ({
82
88
  minDate: minDate$1,
83
89
  maxDate: maxDate$1,
84
90
  label
85
- }, error), disabled, autoFocus, excludeDates, selectsRange, showMonthYearPicker, "data-testid": dataTestId, startDate: selectsRange && Array.isArray(field.value) ? field.value[0] : void 0, endDate: selectsRange && Array.isArray(field.value) ? field.value[1] : void 0, input });
91
+ }, error), disabled, autoFocus, excludeDates, selectsRange, showMonthYearPicker, "data-testid": dataTestId, clearable, tooltip, startDate: selectsRange && Array.isArray(field.value) ? field.value[0] : void 0, endDate: selectsRange && Array.isArray(field.value) ? field.value[1] : void 0, input });
86
92
  };
87
93
  exports.DateField = DateField;
@@ -13,5 +13,5 @@ type DateFieldProps<TFieldValues extends FieldValues, TFieldName extends FieldPa
13
13
  autoFocus?: boolean;
14
14
  placeholder?: string;
15
15
  };
16
- export declare const DateField: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ required, name, control, label, format, locale, maxDate, minDate, disabled, onChange, onBlur, onFocus, validate, autoFocus, excludeDates, selectsRange, size, placeholder, "data-testid": dataTestId, shouldUnregister, showMonthYearPicker, input, }: DateFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
16
+ export declare const DateField: <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ required, name, control, label, format, locale, maxDate, minDate, disabled, onChange, onBlur, onFocus, validate, autoFocus, excludeDates, selectsRange, size, placeholder, tooltip, clearable, "data-testid": dataTestId, shouldUnregister, showMonthYearPicker, input, }: DateFieldProps<TFieldValues, TFieldName>) => import("@emotion/react/jsx-runtime").JSX.Element;
17
17
  export {};
@@ -6,7 +6,7 @@ import { maxDateValidator } from "../../validators/maxDate.js";
6
6
  import { minDateValidator } from "../../validators/minDate.js";
7
7
  import { useErrors } from "../../providers/ErrorContext/index.js";
8
8
  const parseDate = (value) => typeof value === "string" ? new Date(value) : value;
9
- const isEmpty = (value) => typeof value === "string" ? value === "" : value === void 0;
9
+ const isEmpty = (value) => !value;
10
10
  const DateField = ({
11
11
  required,
12
12
  name,
@@ -26,6 +26,8 @@ const DateField = ({
26
26
  selectsRange,
27
27
  size,
28
28
  placeholder,
29
+ tooltip,
30
+ clearable,
29
31
  "data-testid": dataTestId,
30
32
  shouldUnregister = false,
31
33
  showMonthYearPicker,
@@ -71,6 +73,10 @@ const DateField = ({
71
73
  newDate.setHours(currentDate.getHours(), currentDate.getMinutes());
72
74
  field.onChange(newDate);
73
75
  } else if (Array.isArray(val)) {
76
+ onChange?.(val);
77
+ field.onChange(val);
78
+ } else if (val === null) {
79
+ onChange?.(val);
74
80
  field.onChange(val);
75
81
  }
76
82
  }, onBlur: (e) => {
@@ -80,7 +86,7 @@ const DateField = ({
80
86
  minDate,
81
87
  maxDate,
82
88
  label
83
- }, error), disabled, autoFocus, excludeDates, selectsRange, showMonthYearPicker, "data-testid": dataTestId, startDate: selectsRange && Array.isArray(field.value) ? field.value[0] : void 0, endDate: selectsRange && Array.isArray(field.value) ? field.value[1] : void 0, input });
89
+ }, error), disabled, autoFocus, excludeDates, selectsRange, showMonthYearPicker, "data-testid": dataTestId, clearable, tooltip, startDate: selectsRange && Array.isArray(field.value) ? field.value[0] : void 0, endDate: selectsRange && Array.isArray(field.value) ? field.value[1] : void 0, input });
84
90
  };
85
91
  export {
86
92
  DateField
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ultraviolet/form",
3
- "version": "3.16.0",
3
+ "version": "3.17.0",
4
4
  "description": "Ultraviolet Form",
5
5
  "homepage": "https://github.com/scaleway/ultraviolet#readme",
6
6
  "repository": {
@@ -71,8 +71,8 @@
71
71
  "@babel/runtime": "7.27.0",
72
72
  "react-hook-form": "7.55.0",
73
73
  "react-select": "5.10.0",
74
- "@ultraviolet/ui": "1.93.0",
75
- "@ultraviolet/themes": "1.17.0"
74
+ "@ultraviolet/themes": "1.17.0",
75
+ "@ultraviolet/ui": "1.94.0"
76
76
  },
77
77
  "scripts": {
78
78
  "build:profile": "npx vite-bundle-visualizer -c vite.config.ts",