soda-heroui 0.7.4 → 0.7.5

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 (58) hide show
  1. package/dist/components/FormAutocomplete.d.ts +2 -3
  2. package/dist/components/FormCalendar.cjs +10 -2
  3. package/dist/components/FormCalendar.d.ts +4 -2
  4. package/dist/components/FormCalendar.js +10 -2
  5. package/dist/components/FormCheckbox.d.ts +2 -2
  6. package/dist/components/FormCheckboxGroup.d.ts +2 -2
  7. package/dist/components/FormDateInput.cjs +10 -2
  8. package/dist/components/FormDateInput.d.ts +4 -2
  9. package/dist/components/FormDateInput.js +10 -2
  10. package/dist/components/FormDatePicker.cjs +10 -2
  11. package/dist/components/FormDatePicker.d.ts +4 -2
  12. package/dist/components/FormDatePicker.js +10 -2
  13. package/dist/components/FormDateRangePicker.cjs +11 -2
  14. package/dist/components/FormDateRangePicker.d.ts +4 -2
  15. package/dist/components/FormDateRangePicker.js +11 -2
  16. package/dist/components/FormInput.d.ts +2 -2
  17. package/dist/components/FormInputOtp.d.ts +2 -2
  18. package/dist/components/FormNumberInput.d.ts +2 -2
  19. package/dist/components/FormPagination.d.ts +2 -2
  20. package/dist/components/FormProvider.cjs +61 -0
  21. package/dist/components/FormProvider.d.ts +15 -0
  22. package/dist/components/FormProvider.js +21 -0
  23. package/dist/components/FormRadioGroup.d.ts +2 -2
  24. package/dist/components/FormRangeCalendar.cjs +19 -6
  25. package/dist/components/FormRangeCalendar.d.ts +18 -6
  26. package/dist/components/FormRangeCalendar.js +19 -6
  27. package/dist/components/FormSelect.cjs +6 -2
  28. package/dist/components/FormSelect.d.ts +4 -2
  29. package/dist/components/FormSelect.js +6 -2
  30. package/dist/components/FormSwitch.d.ts +2 -2
  31. package/dist/components/FormTextarea.d.ts +2 -2
  32. package/dist/components/FormTimeInput.cjs +18 -6
  33. package/dist/components/FormTimeInput.d.ts +18 -6
  34. package/dist/components/FormTimeInput.js +18 -6
  35. package/dist/index.cjs +39 -30
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.js +1 -0
  38. package/package.json +3 -3
  39. package/src/components/FormAutocomplete.tsx +2 -3
  40. package/src/components/FormCalendar.tsx +10 -5
  41. package/src/components/FormCheckbox.tsx +5 -2
  42. package/src/components/FormCheckboxGroup.tsx +2 -2
  43. package/src/components/FormDateInput.tsx +10 -5
  44. package/src/components/FormDatePicker.tsx +10 -5
  45. package/src/components/FormDateRangePicker.tsx +13 -10
  46. package/src/components/FormInput.tsx +2 -2
  47. package/src/components/FormInputOtp.tsx +5 -2
  48. package/src/components/FormNumberInput.tsx +5 -2
  49. package/src/components/FormPagination.tsx +5 -2
  50. package/src/components/FormProvider.tsx +32 -0
  51. package/src/components/FormRadioGroup.tsx +5 -2
  52. package/src/components/FormRangeCalendar.tsx +32 -19
  53. package/src/components/FormSelect.tsx +10 -5
  54. package/src/components/FormSwitch.tsx +5 -2
  55. package/src/components/FormTextarea.tsx +5 -2
  56. package/src/components/FormTimeInput.tsx +29 -15
  57. package/src/index.ts +1 -0
  58. package/src/utils/addBetterToast.ts +44 -44
@@ -1,7 +1,6 @@
1
1
  import { ReactNode } from "react";
2
2
  import { Autocomplete } from "@heroui/react";
3
- import { Key } from "@react-types/shared";
4
3
  import { FieldComponentProps } from "soda-tanstack-form";
5
- export interface FormAutocompleteProps<FieldValue extends Key | undefined = Key | undefined, RenderItem extends object = object> extends FieldComponentProps<typeof Autocomplete<RenderItem>, FieldValue> {
4
+ export interface FormAutocompleteProps<FieldValue extends string | null | undefined = string | null | undefined, RenderItem extends object = object> extends FieldComponentProps<typeof Autocomplete<RenderItem>, FieldValue> {
6
5
  }
7
- export declare function FormAutocomplete<FieldValue extends string | undefined = string | undefined, RenderItem extends object = object>({ field, ...rest }: FormAutocompleteProps<FieldValue, RenderItem>): ReactNode;
6
+ export declare function FormAutocomplete<FieldValue extends string | null | undefined = string | null | undefined, RenderItem extends object = object>({ field, ...rest }: FormAutocompleteProps<FieldValue, RenderItem>): ReactNode;
@@ -28,13 +28,21 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  FormCalendar: ()=>FormCalendar
29
29
  });
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
+ const external_react_namespaceObject = require("react");
31
32
  const react_namespaceObject = require("@heroui/react");
32
33
  const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
+ const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
33
35
  const external_FormTimeInput_cjs_namespaceObject = require("./FormTimeInput.cjs");
34
- function FormCalendar({ field, valueMode, ...rest }) {
36
+ function FormCalendar({ field, valueMode, emptyValue, ...rest }) {
37
+ const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
38
+ emptyValue ??= context.emptyValue;
35
39
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Calendar, {
36
40
  value: (0, external_FormTimeInput_cjs_namespaceObject.getFieldValue)(field),
37
- onChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)(field, valueMode),
41
+ onChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)({
42
+ field,
43
+ valueMode,
44
+ emptyValue
45
+ }),
38
46
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
39
47
  ...rest
40
48
  });
@@ -2,8 +2,10 @@ import { ReactNode } from "react";
2
2
  import { Calendar } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
+ import { EmptyValue } from "./FormProvider";
5
6
  import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
- export interface FormCalendarProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined> extends StrictOmit<FieldComponentProps<typeof Calendar, FieldValue>, never> {
7
+ export interface FormCalendarProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined> extends StrictOmit<FieldComponentProps<typeof Calendar, FieldValue>, never> {
7
8
  valueMode?: ValueMode;
9
+ emptyValue?: EmptyValue;
8
10
  }
9
- export declare function FormCalendar<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormCalendarProps<ValueMode, FieldValue>): ReactNode;
11
+ export declare function FormCalendar<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, ...rest }: FormCalendarProps<ValueMode, FieldValue>): ReactNode;
@@ -1,12 +1,20 @@
1
1
  "use client"
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
4
5
  import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
5
7
  import * as __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__ from "./FormTimeInput.js";
6
- function FormCalendar({ field, valueMode, ...rest }) {
8
+ function FormCalendar({ field, valueMode, emptyValue, ...rest }) {
9
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
10
+ emptyValue ??= context.emptyValue;
7
11
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.Calendar, {
8
12
  value: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getFieldValue)(field),
9
- onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)(field, valueMode),
13
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)({
14
+ field,
15
+ valueMode,
16
+ emptyValue
17
+ }),
10
18
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
11
19
  ...rest
12
20
  });
@@ -2,6 +2,6 @@ import { ReactNode } from "react";
2
2
  import { Checkbox } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- export interface FormCheckboxProps<FieldValue extends boolean | undefined = boolean | undefined> extends StrictOmit<FieldComponentProps<typeof Checkbox, FieldValue>, never> {
5
+ export interface FormCheckboxProps<FieldValue extends boolean | null | undefined = boolean | null | undefined> extends StrictOmit<FieldComponentProps<typeof Checkbox, FieldValue>, never> {
6
6
  }
7
- export declare function FormCheckbox<FieldValue extends boolean | undefined = boolean | undefined>({ field, ...rest }: FormCheckboxProps<FieldValue>): ReactNode;
7
+ export declare function FormCheckbox<FieldValue extends boolean | null | undefined = boolean | null | undefined>({ field, ...rest }: FormCheckboxProps<FieldValue>): ReactNode;
@@ -2,6 +2,6 @@ import { ReactNode } from "react";
2
2
  import { CheckboxGroup } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- export interface FormCheckboxGroupProps<FieldValue extends string[] | undefined = string[] | undefined> extends StrictOmit<FieldComponentProps<typeof CheckboxGroup, FieldValue>, never> {
5
+ export interface FormCheckboxGroupProps<FieldValue extends string[] | null | undefined = string[] | null | undefined> extends StrictOmit<FieldComponentProps<typeof CheckboxGroup, FieldValue>, never> {
6
6
  }
7
- export declare function FormCheckboxGroup<FieldValue extends string[] | undefined = string[] | undefined>({ field, ...rest }: FormCheckboxGroupProps<FieldValue>): ReactNode;
7
+ export declare function FormCheckboxGroup<FieldValue extends string[] | null | undefined = string[] | null | undefined>({ field, ...rest }: FormCheckboxGroupProps<FieldValue>): ReactNode;
@@ -28,13 +28,21 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  FormDateInput: ()=>FormDateInput
29
29
  });
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
+ const external_react_namespaceObject = require("react");
31
32
  const react_namespaceObject = require("@heroui/react");
32
33
  const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
+ const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
33
35
  const external_FormTimeInput_cjs_namespaceObject = require("./FormTimeInput.cjs");
34
- function FormDateInput({ field, valueMode, ...rest }) {
36
+ function FormDateInput({ field, valueMode, emptyValue, ...rest }) {
37
+ const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
38
+ emptyValue ??= context.emptyValue;
35
39
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.DateInput, {
36
40
  value: (0, external_FormTimeInput_cjs_namespaceObject.getFieldValue)(field),
37
- onChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)(field, valueMode),
41
+ onChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)({
42
+ field,
43
+ valueMode,
44
+ emptyValue
45
+ }),
38
46
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
39
47
  ...rest
40
48
  });
@@ -2,8 +2,10 @@ import { ReactNode } from "react";
2
2
  import { DateInput } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
+ import { EmptyValue } from "./FormProvider";
5
6
  import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
- export interface FormDateInputProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined> extends StrictOmit<FieldComponentProps<typeof DateInput, FieldValue>, never> {
7
+ export interface FormDateInputProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined> extends StrictOmit<FieldComponentProps<typeof DateInput, FieldValue>, never> {
7
8
  valueMode?: ValueMode;
9
+ emptyValue?: EmptyValue;
8
10
  }
9
- export declare function FormDateInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormDateInputProps<ValueMode, FieldValue>): ReactNode;
11
+ export declare function FormDateInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, ...rest }: FormDateInputProps<ValueMode, FieldValue>): ReactNode;
@@ -1,12 +1,20 @@
1
1
  "use client"
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
4
5
  import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
5
7
  import * as __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__ from "./FormTimeInput.js";
6
- function FormDateInput({ field, valueMode, ...rest }) {
8
+ function FormDateInput({ field, valueMode, emptyValue, ...rest }) {
9
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
10
+ emptyValue ??= context.emptyValue;
7
11
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DateInput, {
8
12
  value: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getFieldValue)(field),
9
- onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)(field, valueMode),
13
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)({
14
+ field,
15
+ valueMode,
16
+ emptyValue
17
+ }),
10
18
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
11
19
  ...rest
12
20
  });
@@ -28,13 +28,21 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  FormDatePicker: ()=>FormDatePicker
29
29
  });
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
+ const external_react_namespaceObject = require("react");
31
32
  const react_namespaceObject = require("@heroui/react");
32
33
  const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
+ const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
33
35
  const external_FormTimeInput_cjs_namespaceObject = require("./FormTimeInput.cjs");
34
- function FormDatePicker({ field, valueMode, ...rest }) {
36
+ function FormDatePicker({ field, valueMode, emptyValue, ...rest }) {
37
+ const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
38
+ emptyValue ??= context.emptyValue;
35
39
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.DatePicker, {
36
40
  value: (0, external_FormTimeInput_cjs_namespaceObject.getFieldValue)(field),
37
- onChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)(field, valueMode),
41
+ onChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)({
42
+ field,
43
+ valueMode,
44
+ emptyValue
45
+ }),
38
46
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
39
47
  ...rest
40
48
  });
@@ -2,8 +2,10 @@ import { ReactNode } from "react";
2
2
  import { DatePicker } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
+ import { EmptyValue } from "./FormProvider";
5
6
  import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
- export interface FormDatePickerProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined> extends StrictOmit<FieldComponentProps<typeof DatePicker, FieldValue>, never> {
7
+ export interface FormDatePickerProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined> extends StrictOmit<FieldComponentProps<typeof DatePicker, FieldValue>, never> {
7
8
  valueMode?: ValueMode;
9
+ emptyValue?: EmptyValue;
8
10
  }
9
- export declare function FormDatePicker<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormDatePickerProps<ValueMode, FieldValue>): ReactNode;
11
+ export declare function FormDatePicker<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, ...rest }: FormDatePickerProps<ValueMode, FieldValue>): ReactNode;
@@ -1,12 +1,20 @@
1
1
  "use client"
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
4
5
  import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
5
7
  import * as __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__ from "./FormTimeInput.js";
6
- function FormDatePicker({ field, valueMode, ...rest }) {
8
+ function FormDatePicker({ field, valueMode, emptyValue, ...rest }) {
9
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
10
+ emptyValue ??= context.emptyValue;
7
11
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DatePicker, {
8
12
  value: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getFieldValue)(field),
9
- onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)(field, valueMode),
13
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)({
14
+ field,
15
+ valueMode,
16
+ emptyValue
17
+ }),
10
18
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
11
19
  ...rest
12
20
  });
@@ -28,13 +28,22 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  FormDateRangePicker: ()=>FormDateRangePicker
29
29
  });
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
+ const external_react_namespaceObject = require("react");
31
32
  const react_namespaceObject = require("@heroui/react");
32
33
  const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
+ const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
33
35
  const external_FormRangeCalendar_cjs_namespaceObject = require("./FormRangeCalendar.cjs");
34
- function FormDateRangePicker({ field, valueMode, ...rest }) {
36
+ function FormDateRangePicker({ field: _field, valueMode, emptyValue, ...rest }) {
37
+ const field = _field;
38
+ const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
39
+ emptyValue ??= context.emptyValue;
35
40
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.DateRangePicker, {
36
41
  value: (0, external_FormRangeCalendar_cjs_namespaceObject.getFieldRangeValue)(field),
37
- onChange: (0, external_FormRangeCalendar_cjs_namespaceObject.getOnRangeChange)(field, valueMode),
42
+ onChange: (0, external_FormRangeCalendar_cjs_namespaceObject.getOnRangeChange)({
43
+ field,
44
+ valueMode,
45
+ emptyValue
46
+ }),
38
47
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
39
48
  ...rest
40
49
  });
@@ -2,8 +2,10 @@ import { ReactNode } from "react";
2
2
  import { DateRangePicker } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
+ import { EmptyValue } from "./FormProvider";
5
6
  import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
- export interface FormDateRangePickerProps<ValueMode extends TimeValueMode = "date", FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined = [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined> extends StrictOmit<FieldComponentProps<typeof DateRangePicker, FieldValue>, never> {
7
+ export interface FormDateRangePickerProps<ValueMode extends TimeValueMode = "date", FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | null | undefined = [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | null | undefined> extends StrictOmit<FieldComponentProps<typeof DateRangePicker, FieldValue>, never> {
7
8
  valueMode?: ValueMode;
9
+ emptyValue?: EmptyValue;
8
10
  }
9
- export declare function FormDateRangePicker<ValueMode extends TimeValueMode = "date", FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined = [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined>({ field, valueMode, ...rest }: FormDateRangePickerProps<ValueMode, FieldValue>): ReactNode;
11
+ export declare function FormDateRangePicker<ValueMode extends TimeValueMode = "date", FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | null | undefined = [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | null | undefined>({ field: _field, valueMode, emptyValue, ...rest }: FormDateRangePickerProps<ValueMode, FieldValue>): ReactNode;
@@ -1,12 +1,21 @@
1
1
  "use client"
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
4
5
  import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
5
7
  import * as __WEBPACK_EXTERNAL_MODULE__FormRangeCalendar_js_70d23bc2__ from "./FormRangeCalendar.js";
6
- function FormDateRangePicker({ field, valueMode, ...rest }) {
8
+ function FormDateRangePicker({ field: _field, valueMode, emptyValue, ...rest }) {
9
+ const field = _field;
10
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
11
+ emptyValue ??= context.emptyValue;
7
12
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DateRangePicker, {
8
13
  value: (0, __WEBPACK_EXTERNAL_MODULE__FormRangeCalendar_js_70d23bc2__.getFieldRangeValue)(field),
9
- onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormRangeCalendar_js_70d23bc2__.getOnRangeChange)(field, valueMode),
14
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormRangeCalendar_js_70d23bc2__.getOnRangeChange)({
15
+ field,
16
+ valueMode,
17
+ emptyValue
18
+ }),
10
19
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
11
20
  ...rest
12
21
  });
@@ -2,6 +2,6 @@ import { ReactNode } from "react";
2
2
  import { Input } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- export interface FormInputProps<FieldValue extends string | undefined = string | undefined> extends StrictOmit<FieldComponentProps<typeof Input, FieldValue>, never> {
5
+ export interface FormInputProps<FieldValue extends string | null | undefined = string | null | undefined> extends StrictOmit<FieldComponentProps<typeof Input, FieldValue>, never> {
6
6
  }
7
- export declare function FormInput<FieldValue extends string | undefined = string | undefined>({ field, ...rest }: FormInputProps<FieldValue>): ReactNode;
7
+ export declare function FormInput<FieldValue extends string | null | undefined = string | null | undefined>({ field, ...rest }: FormInputProps<FieldValue>): ReactNode;
@@ -2,6 +2,6 @@ import { ReactNode } from "react";
2
2
  import { InputOtp } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- export interface FormInputOtpProps<FieldValue extends string | undefined = string | undefined> extends StrictOmit<FieldComponentProps<typeof InputOtp, FieldValue>, never> {
5
+ export interface FormInputOtpProps<FieldValue extends string | null | undefined = string | null | undefined> extends StrictOmit<FieldComponentProps<typeof InputOtp, FieldValue>, never> {
6
6
  }
7
- export declare function FormInputOtp<FieldValue extends string | undefined = string | undefined>({ field, ...rest }: FormInputOtpProps<FieldValue>): ReactNode;
7
+ export declare function FormInputOtp<FieldValue extends string | null | undefined = string | null | undefined>({ field, ...rest }: FormInputOtpProps<FieldValue>): ReactNode;
@@ -2,6 +2,6 @@ import { ReactNode } from "react";
2
2
  import { NumberInput } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- export interface FormNumberInputProps<FieldValue extends number | undefined = number | undefined> extends StrictOmit<FieldComponentProps<typeof NumberInput, FieldValue>, never> {
5
+ export interface FormNumberInputProps<FieldValue extends number | null | undefined = number | null | undefined> extends StrictOmit<FieldComponentProps<typeof NumberInput, FieldValue>, never> {
6
6
  }
7
- export declare function FormNumberInput<FieldValue extends number | undefined = number | undefined>({ field, ...rest }: FormNumberInputProps<FieldValue>): ReactNode;
7
+ export declare function FormNumberInput<FieldValue extends number | null | undefined = number | null | undefined>({ field, ...rest }: FormNumberInputProps<FieldValue>): ReactNode;
@@ -2,6 +2,6 @@ import { ReactNode } from "react";
2
2
  import { Pagination } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- export interface FormPaginationProps<FieldValue extends number | undefined = number | undefined> extends StrictOmit<FieldComponentProps<typeof Pagination, FieldValue>, never> {
5
+ export interface FormPaginationProps<FieldValue extends number | null | undefined = number | null | undefined> extends StrictOmit<FieldComponentProps<typeof Pagination, FieldValue>, never> {
6
6
  }
7
- export declare function FormPagination<FieldValue extends number | undefined = number | undefined>({ field, ...rest }: FormPaginationProps<FieldValue>): ReactNode;
7
+ export declare function FormPagination<FieldValue extends number | null | undefined = number | null | undefined>({ field, ...rest }: FormPaginationProps<FieldValue>): ReactNode;
@@ -0,0 +1,61 @@
1
+ "use client"
2
+ "use strict";
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = (exports1, definition)=>{
6
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ get: definition[key]
9
+ });
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.r = (exports1)=>{
17
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
+ value: 'Module'
19
+ });
20
+ Object.defineProperty(exports1, '__esModule', {
21
+ value: true
22
+ });
23
+ };
24
+ })();
25
+ var __webpack_exports__ = {};
26
+ __webpack_require__.r(__webpack_exports__);
27
+ __webpack_require__.d(__webpack_exports__, {
28
+ FormProvider: ()=>FormProvider,
29
+ getEmptyValue: ()=>getEmptyValue,
30
+ FormContext: ()=>FormContext
31
+ });
32
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
33
+ const external_react_namespaceObject = require("react");
34
+ const external_deepsea_tools_namespaceObject = require("deepsea-tools");
35
+ function getEmptyValue(value) {
36
+ return "undefined" === value ? void 0 : null;
37
+ }
38
+ const FormContext = /*#__PURE__*/ (0, external_react_namespaceObject.createContext)({
39
+ emptyValue: "null"
40
+ });
41
+ const FormProvider = ({ children, emptyValue })=>{
42
+ const config = (0, external_react_namespaceObject.useContext)(FormContext);
43
+ const newConfig = (0, external_deepsea_tools_namespaceObject.assign)(config, {
44
+ emptyValue
45
+ });
46
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormContext, {
47
+ value: newConfig,
48
+ children: children
49
+ });
50
+ };
51
+ exports.FormContext = __webpack_exports__.FormContext;
52
+ exports.FormProvider = __webpack_exports__.FormProvider;
53
+ exports.getEmptyValue = __webpack_exports__.getEmptyValue;
54
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
55
+ "FormContext",
56
+ "FormProvider",
57
+ "getEmptyValue"
58
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
59
+ Object.defineProperty(exports, '__esModule', {
60
+ value: true
61
+ });
@@ -0,0 +1,15 @@
1
+ import { FC, ReactNode } from "react";
2
+ export type EmptyValue = "null" | "undefined";
3
+ export type GetEmptyValue<T extends EmptyValue> = T extends "undefined" ? undefined : null;
4
+ export declare function getEmptyValue<T extends EmptyValue = "null">(value?: T): GetEmptyValue<T>;
5
+ export interface FormContext {
6
+ /**
7
+ * 空值设置,默认是 null
8
+ */
9
+ emptyValue: EmptyValue;
10
+ }
11
+ export declare const FormContext: import("react").Context<FormContext>;
12
+ export interface FormProviderProps extends Partial<FormContext> {
13
+ children?: ReactNode;
14
+ }
15
+ export declare const FormProvider: FC<FormProviderProps>;
@@ -0,0 +1,21 @@
1
+ "use client"
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__ from "deepsea-tools";
5
+ function getEmptyValue(value) {
6
+ return "undefined" === value ? void 0 : null;
7
+ }
8
+ const FormContext = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.createContext)({
9
+ emptyValue: "null"
10
+ });
11
+ const FormProvider = ({ children, emptyValue })=>{
12
+ const config = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(FormContext);
13
+ const newConfig = (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.assign)(config, {
14
+ emptyValue
15
+ });
16
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(FormContext, {
17
+ value: newConfig,
18
+ children: children
19
+ });
20
+ };
21
+ export { FormContext, FormProvider, getEmptyValue };
@@ -2,6 +2,6 @@ import { ReactNode } from "react";
2
2
  import { RadioGroup } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- export interface FormRadioGroupProps<FieldValue extends string | undefined = string | undefined> extends StrictOmit<FieldComponentProps<typeof RadioGroup, FieldValue>, never> {
5
+ export interface FormRadioGroupProps<FieldValue extends string | null | undefined = string | null | undefined> extends StrictOmit<FieldComponentProps<typeof RadioGroup, FieldValue>, never> {
6
6
  }
7
- export declare function FormRadioGroup<FieldValue extends string | undefined = string | undefined>({ field, ...rest }: FormRadioGroupProps<FieldValue>): ReactNode;
7
+ export declare function FormRadioGroup<FieldValue extends string | null | undefined = string | null | undefined>({ field, ...rest }: FormRadioGroupProps<FieldValue>): ReactNode;
@@ -32,11 +32,13 @@ __webpack_require__.d(__webpack_exports__, {
32
32
  getOnRangeChange: ()=>getOnRangeChange
33
33
  });
34
34
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
35
+ const external_react_namespaceObject = require("react");
35
36
  const react_namespaceObject = require("@heroui/react");
36
37
  const external_deepsea_tools_namespaceObject = require("deepsea-tools");
37
38
  const getTimeValue_cjs_namespaceObject = require("../utils/getTimeValue.cjs");
38
39
  const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
39
40
  const parseTime_cjs_namespaceObject = require("../utils/parseTime.cjs");
41
+ const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
40
42
  function getRangeValue(value) {
41
43
  return (0, external_deepsea_tools_namespaceObject.isNonNullable)(value) ? {
42
44
  start: (0, parseTime_cjs_namespaceObject.parseTime)(value[0].valueOf()),
@@ -46,8 +48,8 @@ function getRangeValue(value) {
46
48
  function getFieldRangeValue(field) {
47
49
  return getRangeValue(field.state.value);
48
50
  }
49
- function getRangeUpdater(value, valueMode) {
50
- if (!(0, external_deepsea_tools_namespaceObject.isNonNullable)(value)) return;
51
+ function getRangeUpdater({ value, valueMode, emptyValue }) {
52
+ if (!(0, external_deepsea_tools_namespaceObject.isNonNullable)(value)) return (0, external_FormProvider_cjs_namespaceObject.getEmptyValue)(emptyValue);
51
53
  if ("timestamp" === valueMode) return [
52
54
  (0, getTimeValue_cjs_namespaceObject.getTimeValue)(value.start),
53
55
  (0, getTimeValue_cjs_namespaceObject.getTimeValue)(value.end)
@@ -60,15 +62,26 @@ function getRangeUpdater(value, valueMode) {
60
62
  }
61
63
  return updater;
62
64
  }
63
- function getOnRangeChange(field, valueMode) {
65
+ function getOnRangeChange({ field, valueMode, emptyValue }) {
64
66
  return function(value) {
65
- field.handleChange(getRangeUpdater(value, valueMode));
67
+ field.handleChange(getRangeUpdater({
68
+ value,
69
+ valueMode,
70
+ emptyValue
71
+ }));
66
72
  };
67
73
  }
68
- function FormRangeCalendar({ field, valueMode, ...rest }) {
74
+ function FormRangeCalendar({ field: _field, valueMode, emptyValue, ...rest }) {
75
+ const field = _field;
76
+ const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
77
+ emptyValue ??= context.emptyValue;
69
78
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.RangeCalendar, {
70
79
  value: getFieldRangeValue(field),
71
- onChange: getOnRangeChange(field, valueMode),
80
+ onChange: getOnRangeChange({
81
+ field,
82
+ valueMode,
83
+ emptyValue
84
+ }),
72
85
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
73
86
  ...rest
74
87
  });
@@ -2,12 +2,24 @@ import { ReactNode, SetStateAction } from "react";
2
2
  import { DateValue, RangeCalendar, RangeValue } from "@heroui/react";
3
3
  import { Field, FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
+ import { EmptyValue } from "./FormProvider";
5
6
  import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
- export interface FormRangeCalendarProps<ValueMode extends TimeValueMode = "date", FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined = [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined> extends StrictOmit<FieldComponentProps<typeof RangeCalendar, FieldValue>, never> {
7
+ export interface FormRangeCalendarProps<ValueMode extends TimeValueMode = "date", FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | null | undefined = [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | null | undefined> extends StrictOmit<FieldComponentProps<typeof RangeCalendar, FieldValue>, never> {
7
8
  valueMode?: ValueMode;
9
+ emptyValue?: EmptyValue;
8
10
  }
9
- export declare function getRangeValue(value: [Date, Date] | [number, number] | undefined): RangeValue<DateValue> | null;
10
- export declare function getFieldRangeValue<T extends [Date, Date] | [number, number] | undefined>(field: Field<T>): RangeValue<DateValue> | null;
11
- export declare function getRangeUpdater(value: RangeValue<DateValue> | null, valueMode?: TimeValueMode): SetStateAction<[Date, Date] | [number, number] | undefined>;
12
- export declare function getOnRangeChange<T extends [Date, Date] | [number, number] | undefined>(field: Field<T>, valueMode?: TimeValueMode): (value: RangeValue<DateValue> | null) => void;
13
- export declare function FormRangeCalendar<ValueMode extends TimeValueMode = "date", FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined = [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined>({ field, valueMode, ...rest }: FormRangeCalendarProps<ValueMode, FieldValue>): ReactNode;
11
+ export declare function getRangeValue(value: [Date, Date] | [number, number] | null | undefined): RangeValue<DateValue> | null;
12
+ export declare function getFieldRangeValue<T extends [Date, Date] | [number, number] | null | undefined>(field: Field<T>): RangeValue<DateValue> | null;
13
+ export interface GetRangeUpdaterParams {
14
+ value: RangeValue<DateValue> | null;
15
+ valueMode?: TimeValueMode;
16
+ emptyValue?: EmptyValue;
17
+ }
18
+ export declare function getRangeUpdater({ value, valueMode, emptyValue }: GetRangeUpdaterParams): SetStateAction<[Date, Date] | [number, number] | null | undefined>;
19
+ export interface GetOnRangeChangeParams<T extends [Date, Date] | [number, number] | null | undefined> {
20
+ field: Field<T>;
21
+ valueMode?: TimeValueMode;
22
+ emptyValue?: EmptyValue;
23
+ }
24
+ export declare function getOnRangeChange<T extends [Date, Date] | [number, number] | null | undefined>({ field, valueMode, emptyValue }: GetOnRangeChangeParams<T>): (value: RangeValue<DateValue> | null) => void;
25
+ export declare function FormRangeCalendar<ValueMode extends TimeValueMode = "date", FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | null | undefined = [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | null | undefined>({ field: _field, valueMode, emptyValue, ...rest }: FormRangeCalendarProps<ValueMode, FieldValue>): ReactNode;
@@ -1,10 +1,12 @@
1
1
  "use client"
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
4
5
  import * as __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__ from "deepsea-tools";
5
6
  import * as __WEBPACK_EXTERNAL_MODULE__utils_getTimeValue_js_9ba8f683__ from "../utils/getTimeValue.js";
6
7
  import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
7
8
  import * as __WEBPACK_EXTERNAL_MODULE__utils_parseTime_js_d0890db8__ from "../utils/parseTime.js";
9
+ import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
8
10
  function getRangeValue(value) {
9
11
  return (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.isNonNullable)(value) ? {
10
12
  start: (0, __WEBPACK_EXTERNAL_MODULE__utils_parseTime_js_d0890db8__.parseTime)(value[0].valueOf()),
@@ -14,8 +16,8 @@ function getRangeValue(value) {
14
16
  function getFieldRangeValue(field) {
15
17
  return getRangeValue(field.state.value);
16
18
  }
17
- function getRangeUpdater(value, valueMode) {
18
- if (!(0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.isNonNullable)(value)) return;
19
+ function getRangeUpdater({ value, valueMode, emptyValue }) {
20
+ if (!(0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.isNonNullable)(value)) return (0, __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.getEmptyValue)(emptyValue);
19
21
  if ("timestamp" === valueMode) return [
20
22
  (0, __WEBPACK_EXTERNAL_MODULE__utils_getTimeValue_js_9ba8f683__.getTimeValue)(value.start),
21
23
  (0, __WEBPACK_EXTERNAL_MODULE__utils_getTimeValue_js_9ba8f683__.getTimeValue)(value.end)
@@ -28,15 +30,26 @@ function getRangeUpdater(value, valueMode) {
28
30
  }
29
31
  return updater;
30
32
  }
31
- function getOnRangeChange(field, valueMode) {
33
+ function getOnRangeChange({ field, valueMode, emptyValue }) {
32
34
  return function(value) {
33
- field.handleChange(getRangeUpdater(value, valueMode));
35
+ field.handleChange(getRangeUpdater({
36
+ value,
37
+ valueMode,
38
+ emptyValue
39
+ }));
34
40
  };
35
41
  }
36
- function FormRangeCalendar({ field, valueMode, ...rest }) {
42
+ function FormRangeCalendar({ field: _field, valueMode, emptyValue, ...rest }) {
43
+ const field = _field;
44
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
45
+ emptyValue ??= context.emptyValue;
37
46
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.RangeCalendar, {
38
47
  value: getFieldRangeValue(field),
39
- onChange: getOnRangeChange(field, valueMode),
48
+ onChange: getOnRangeChange({
49
+ field,
50
+ valueMode,
51
+ emptyValue
52
+ }),
40
53
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
41
54
  ...rest
42
55
  });
@@ -28,17 +28,21 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  FormSelect: ()=>FormSelect
29
29
  });
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
+ const external_react_namespaceObject = require("react");
31
32
  const react_namespaceObject = require("@heroui/react");
32
33
  const external_deepsea_tools_namespaceObject = require("deepsea-tools");
33
34
  const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
- function FormSelect({ field, multiple, ...rest }) {
35
+ const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
36
+ function FormSelect({ field, multiple, emptyValue, ...rest }) {
37
+ const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
38
+ emptyValue ??= context.emptyValue;
35
39
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Select, {
36
40
  selectedKeys: (0, external_deepsea_tools_namespaceObject.isNonNullable)(field.state.value) ? multiple ? field.state.value : [
37
41
  field.state.value
38
42
  ] : [],
39
43
  onSelectionChange: (keys)=>{
40
44
  const value = Array.from(keys);
41
- field.handleChange(multiple ? value : value.at(0));
45
+ field.handleChange(multiple ? value : value.at(0) ?? (0, external_FormProvider_cjs_namespaceObject.getEmptyValue)(emptyValue));
42
46
  },
43
47
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
44
48
  ...rest