soda-heroui 0.9.0 → 0.10.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 (45) hide show
  1. package/dist/components/FormCalendar.cjs +7 -6
  2. package/dist/components/FormCalendar.d.ts +5 -3
  3. package/dist/components/FormCalendar.js +7 -6
  4. package/dist/components/FormDateInput.cjs +7 -6
  5. package/dist/components/FormDateInput.d.ts +5 -3
  6. package/dist/components/FormDateInput.js +7 -6
  7. package/dist/components/FormDatePicker.cjs +7 -6
  8. package/dist/components/FormDatePicker.d.ts +5 -3
  9. package/dist/components/FormDatePicker.js +7 -6
  10. package/dist/components/FormDateRangePicker.cjs +7 -6
  11. package/dist/components/FormDateRangePicker.d.ts +5 -3
  12. package/dist/components/FormDateRangePicker.js +7 -6
  13. package/dist/components/FormRangeCalendar.cjs +9 -54
  14. package/dist/components/FormRangeCalendar.d.ts +8 -20
  15. package/dist/components/FormRangeCalendar.js +8 -41
  16. package/dist/components/FormTimeInput.cjs +9 -43
  17. package/dist/components/FormTimeInput.d.ts +8 -22
  18. package/dist/components/FormTimeInput.js +8 -30
  19. package/dist/index.cjs +18 -0
  20. package/dist/index.d.ts +2 -0
  21. package/dist/index.js +2 -0
  22. package/dist/utils/getTimeValue.cjs +13 -3
  23. package/dist/utils/getTimeValue.d.ts +10 -1
  24. package/dist/utils/getTimeValue.js +13 -3
  25. package/dist/utils/parseTime.cjs +1 -1
  26. package/dist/utils/parseTime.js +1 -1
  27. package/dist/utils/range.cjs +89 -0
  28. package/dist/utils/range.d.ts +28 -0
  29. package/dist/utils/range.js +46 -0
  30. package/dist/utils/time.cjs +70 -0
  31. package/dist/utils/time.d.ts +25 -0
  32. package/dist/utils/time.js +27 -0
  33. package/package.json +7 -4
  34. package/src/components/FormCalendar.tsx +7 -5
  35. package/src/components/FormDateInput.tsx +14 -5
  36. package/src/components/FormDatePicker.tsx +23 -6
  37. package/src/components/FormDateRangePicker.tsx +9 -6
  38. package/src/components/FormRangeCalendar.tsx +10 -54
  39. package/src/components/FormTimeInput.tsx +18 -49
  40. package/src/index.ts +2 -0
  41. package/src/types/index.ts +1 -1
  42. package/src/utils/getTimeValue.ts +25 -3
  43. package/src/utils/parseTime.ts +1 -1
  44. package/src/utils/range.ts +80 -0
  45. package/src/utils/time.ts +50 -0
@@ -30,18 +30,19 @@ __webpack_require__.d(__webpack_exports__, {
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
31
  const external_react_namespaceObject = require("react");
32
32
  const react_namespaceObject = require("@heroui/react");
33
- const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
33
  const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
35
- const external_FormTimeInput_cjs_namespaceObject = require("./FormTimeInput.cjs");
36
- function FormCalendar({ field, valueMode, emptyValue, dateMode, component: Calendar2 = react_namespaceObject.Calendar, ...rest }) {
34
+ const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
35
+ const time_cjs_namespaceObject = require("../utils/time.cjs");
36
+ function FormCalendar({ field, valueMode, emptyValue, dateMode, defaultTime, component: Calendar2 = react_namespaceObject.Calendar, ...rest }) {
37
37
  const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
38
38
  emptyValue ??= context.emptyValue;
39
39
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Calendar2, {
40
- focusedValue: (0, external_FormTimeInput_cjs_namespaceObject.getFieldValue)(field, dateMode),
41
- onFocusChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)({
40
+ focusedValue: (0, time_cjs_namespaceObject.getFieldValue)(field, dateMode),
41
+ onFocusChange: (0, time_cjs_namespaceObject.getOnChange)({
42
42
  field,
43
43
  valueMode,
44
- emptyValue
44
+ emptyValue,
45
+ defaultTime
45
46
  }),
46
47
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
47
48
  ...rest
@@ -2,13 +2,15 @@ import { ReactNode } from "react";
2
2
  import { Calendar, CalendarProps, DateValue } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- import { DateMode } from "../utils/parseTime";
6
5
  import { EmptyValue } from "./FormProvider";
7
- import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
+ import { DefaultTime } from "../utils/getTimeValue";
7
+ import { DateMode } from "../utils/parseTime";
8
+ import { TimeValueMode, TimeValueModeMap } from "../utils/time";
8
9
  export interface FormCalendarProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined> extends StrictOmit<FieldComponentProps<typeof Calendar, FieldValue>, never> {
9
10
  valueMode?: ValueMode;
10
11
  emptyValue?: EmptyValue;
11
12
  dateMode?: DateMode;
13
+ defaultTime?: DefaultTime | (() => DefaultTime);
12
14
  component?: <T extends DateValue>(props: CalendarProps<T>) => ReactNode;
13
15
  }
14
- export declare function FormCalendar<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, dateMode, component: Calendar2, ...rest }: FormCalendarProps<ValueMode, FieldValue>): ReactNode;
16
+ export declare function FormCalendar<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, dateMode, defaultTime, component: Calendar2, ...rest }: FormCalendarProps<ValueMode, FieldValue>): ReactNode;
@@ -2,18 +2,19 @@
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
5
- import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
6
5
  import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__ from "./FormTimeInput.js";
8
- function FormCalendar({ field, valueMode, emptyValue, dateMode, component: Calendar2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.Calendar, ...rest }) {
6
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__ from "../utils/time.js";
8
+ function FormCalendar({ field, valueMode, emptyValue, dateMode, defaultTime, component: Calendar2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.Calendar, ...rest }) {
9
9
  const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
10
10
  emptyValue ??= context.emptyValue;
11
11
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Calendar2, {
12
- focusedValue: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getFieldValue)(field, dateMode),
13
- onFocusChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)({
12
+ focusedValue: (0, __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__.getFieldValue)(field, dateMode),
13
+ onFocusChange: (0, __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__.getOnChange)({
14
14
  field,
15
15
  valueMode,
16
- emptyValue
16
+ emptyValue,
17
+ defaultTime
17
18
  }),
18
19
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
19
20
  ...rest
@@ -30,18 +30,19 @@ __webpack_require__.d(__webpack_exports__, {
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
31
  const external_react_namespaceObject = require("react");
32
32
  const react_namespaceObject = require("@heroui/react");
33
- const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
33
  const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
35
- const external_FormTimeInput_cjs_namespaceObject = require("./FormTimeInput.cjs");
36
- function FormDateInput({ field, valueMode, emptyValue, dateMode, component: DateInput2 = react_namespaceObject.DateInput, ...rest }) {
34
+ const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
35
+ const time_cjs_namespaceObject = require("../utils/time.cjs");
36
+ function FormDateInput({ field, valueMode, emptyValue, dateMode, defaultTime, component: DateInput2 = react_namespaceObject.DateInput, ...rest }) {
37
37
  const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
38
38
  emptyValue ??= context.emptyValue;
39
39
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(DateInput2, {
40
- value: (0, external_FormTimeInput_cjs_namespaceObject.getFieldValue)(field, dateMode),
41
- onChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)({
40
+ value: (0, time_cjs_namespaceObject.getFieldValue)(field, dateMode),
41
+ onChange: (0, time_cjs_namespaceObject.getOnChange)({
42
42
  field,
43
43
  valueMode,
44
- emptyValue
44
+ emptyValue,
45
+ defaultTime
45
46
  }),
46
47
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
47
48
  ...rest
@@ -2,13 +2,15 @@ import { ReactNode } from "react";
2
2
  import { DateInput, DateInputProps, DateValue } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- import { DateMode } from "../utils/parseTime";
6
5
  import { EmptyValue } from "./FormProvider";
7
- import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
+ import { DefaultTime } from "../utils/getTimeValue";
7
+ import { DateMode } from "../utils/parseTime";
8
+ import { TimeValueMode, TimeValueModeMap } from "../utils/time";
8
9
  export interface FormDateInputProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined> extends StrictOmit<FieldComponentProps<typeof DateInput, FieldValue>, never> {
9
10
  valueMode?: ValueMode;
10
11
  emptyValue?: EmptyValue;
11
12
  dateMode?: DateMode;
13
+ defaultTime?: DefaultTime | (() => DefaultTime);
12
14
  component?: <T extends DateValue>(props: DateInputProps<T>) => ReactNode;
13
15
  }
14
- export declare function FormDateInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, dateMode, component: DateInput2, ...rest }: FormDateInputProps<ValueMode, FieldValue>): ReactNode;
16
+ export declare function FormDateInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, dateMode, defaultTime, component: DateInput2, ...rest }: FormDateInputProps<ValueMode, FieldValue>): ReactNode;
@@ -2,18 +2,19 @@
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
5
- import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
6
5
  import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__ from "./FormTimeInput.js";
8
- function FormDateInput({ field, valueMode, emptyValue, dateMode, component: DateInput2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DateInput, ...rest }) {
6
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__ from "../utils/time.js";
8
+ function FormDateInput({ field, valueMode, emptyValue, dateMode, defaultTime, component: DateInput2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DateInput, ...rest }) {
9
9
  const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
10
10
  emptyValue ??= context.emptyValue;
11
11
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(DateInput2, {
12
- value: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getFieldValue)(field, dateMode),
13
- onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)({
12
+ value: (0, __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__.getFieldValue)(field, dateMode),
13
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__.getOnChange)({
14
14
  field,
15
15
  valueMode,
16
- emptyValue
16
+ emptyValue,
17
+ defaultTime
17
18
  }),
18
19
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
19
20
  ...rest
@@ -30,18 +30,19 @@ __webpack_require__.d(__webpack_exports__, {
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
31
  const external_react_namespaceObject = require("react");
32
32
  const react_namespaceObject = require("@heroui/react");
33
- const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
33
  const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
35
- const external_FormTimeInput_cjs_namespaceObject = require("./FormTimeInput.cjs");
36
- function FormDatePicker({ field, valueMode, emptyValue, dateMode, component: DatePicker2 = react_namespaceObject.DatePicker, ...rest }) {
34
+ const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
35
+ const time_cjs_namespaceObject = require("../utils/time.cjs");
36
+ function FormDatePicker({ field, valueMode, emptyValue, dateMode, defaultTime, component: DatePicker2 = react_namespaceObject.DatePicker, ...rest }) {
37
37
  const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
38
38
  emptyValue ??= context.emptyValue;
39
39
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(DatePicker2, {
40
- value: (0, external_FormTimeInput_cjs_namespaceObject.getFieldValue)(field, dateMode),
41
- onChange: (0, external_FormTimeInput_cjs_namespaceObject.getOnChange)({
40
+ value: (0, time_cjs_namespaceObject.getFieldValue)(field, dateMode),
41
+ onChange: (0, time_cjs_namespaceObject.getOnChange)({
42
42
  field,
43
43
  valueMode,
44
- emptyValue
44
+ emptyValue,
45
+ defaultTime
45
46
  }),
46
47
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
47
48
  ...rest
@@ -2,13 +2,15 @@ import { ReactNode } from "react";
2
2
  import { DatePicker, DatePickerProps, DateValue } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- import { DateMode } from "../utils/parseTime";
6
5
  import { EmptyValue } from "./FormProvider";
7
- import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
+ import { DefaultTime } from "../utils/getTimeValue";
7
+ import { DateMode } from "../utils/parseTime";
8
+ import { TimeValueMode, TimeValueModeMap } from "../utils/time";
8
9
  export interface FormDatePickerProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined> extends StrictOmit<FieldComponentProps<typeof DatePicker, FieldValue>, never> {
9
10
  valueMode?: ValueMode;
10
11
  emptyValue?: EmptyValue;
11
12
  dateMode?: DateMode;
13
+ defaultTime?: DefaultTime | (() => DefaultTime);
12
14
  component?: <T extends DateValue>(props: DatePickerProps<T>) => ReactNode;
13
15
  }
14
- export declare function FormDatePicker<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, dateMode, component: DatePicker2, ...rest }: FormDatePickerProps<ValueMode, FieldValue>): ReactNode;
16
+ export declare function FormDatePicker<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, dateMode, defaultTime, component: DatePicker2, ...rest }: FormDatePickerProps<ValueMode, FieldValue>): ReactNode;
@@ -2,18 +2,19 @@
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
5
- import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
6
5
  import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__ from "./FormTimeInput.js";
8
- function FormDatePicker({ field, valueMode, emptyValue, dateMode, component: DatePicker2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DatePicker, ...rest }) {
6
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__ from "../utils/time.js";
8
+ function FormDatePicker({ field, valueMode, emptyValue, dateMode, defaultTime, component: DatePicker2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DatePicker, ...rest }) {
9
9
  const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
10
10
  emptyValue ??= context.emptyValue;
11
11
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(DatePicker2, {
12
- value: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getFieldValue)(field, dateMode),
13
- onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormTimeInput_js_9364800a__.getOnChange)({
12
+ value: (0, __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__.getFieldValue)(field, dateMode),
13
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE__utils_time_js_d87d46fc__.getOnChange)({
14
14
  field,
15
15
  valueMode,
16
- emptyValue
16
+ emptyValue,
17
+ defaultTime
17
18
  }),
18
19
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
19
20
  ...rest
@@ -30,19 +30,20 @@ __webpack_require__.d(__webpack_exports__, {
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
31
  const external_react_namespaceObject = require("react");
32
32
  const react_namespaceObject = require("@heroui/react");
33
- const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
34
33
  const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
35
- const external_FormRangeCalendar_cjs_namespaceObject = require("./FormRangeCalendar.cjs");
36
- function FormDateRangePicker({ field: _field, valueMode, emptyValue, dateMode, component: DateRangePicker2 = react_namespaceObject.DateRangePicker, ...rest }) {
34
+ const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
35
+ const range_cjs_namespaceObject = require("../utils/range.cjs");
36
+ function FormDateRangePicker({ field: _field, valueMode, emptyValue, dateMode, defaultTime, component: DateRangePicker2 = react_namespaceObject.DateRangePicker, ...rest }) {
37
37
  const field = _field;
38
38
  const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
39
39
  emptyValue ??= context.emptyValue;
40
40
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(DateRangePicker2, {
41
- value: (0, external_FormRangeCalendar_cjs_namespaceObject.getFieldRangeValue)(field, dateMode),
42
- onChange: (0, external_FormRangeCalendar_cjs_namespaceObject.getOnRangeChange)({
41
+ value: (0, range_cjs_namespaceObject.getFieldRangeValue)(field, dateMode),
42
+ onChange: (0, range_cjs_namespaceObject.getOnRangeChange)({
43
43
  field,
44
44
  valueMode,
45
- emptyValue
45
+ emptyValue,
46
+ defaultTime
46
47
  }),
47
48
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
48
49
  ...rest
@@ -2,13 +2,15 @@ import { ReactNode } from "react";
2
2
  import { DateRangePicker, DateRangePickerProps, DateValue } from "@heroui/react";
3
3
  import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- import { DateMode } from "../utils/parseTime";
6
5
  import { EmptyValue } from "./FormProvider";
7
- import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
+ import { DateMode } from "../utils/parseTime";
7
+ import { RangeDefaultTime } from "../utils/range";
8
+ import { TimeValueMode, TimeValueModeMap } from "../utils/time";
8
9
  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> {
9
10
  valueMode?: ValueMode;
10
11
  emptyValue?: EmptyValue;
11
12
  dateMode?: DateMode;
13
+ defaultTime?: RangeDefaultTime | (() => RangeDefaultTime);
12
14
  component?: <T extends DateValue>(props: DateRangePickerProps<T>) => ReactNode;
13
15
  }
14
- 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, dateMode, component: DateRangePicker2, ...rest }: FormDateRangePickerProps<ValueMode, FieldValue>): ReactNode;
16
+ 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, dateMode, defaultTime, component: DateRangePicker2, ...rest }: FormDateRangePickerProps<ValueMode, FieldValue>): ReactNode;
@@ -2,19 +2,20 @@
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
5
- import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
6
5
  import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__FormRangeCalendar_js_70d23bc2__ from "./FormRangeCalendar.js";
8
- function FormDateRangePicker({ field: _field, valueMode, emptyValue, dateMode, component: DateRangePicker2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DateRangePicker, ...rest }) {
6
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_range_js_50638587__ from "../utils/range.js";
8
+ function FormDateRangePicker({ field: _field, valueMode, emptyValue, dateMode, defaultTime, component: DateRangePicker2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.DateRangePicker, ...rest }) {
9
9
  const field = _field;
10
10
  const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
11
11
  emptyValue ??= context.emptyValue;
12
12
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(DateRangePicker2, {
13
- value: (0, __WEBPACK_EXTERNAL_MODULE__FormRangeCalendar_js_70d23bc2__.getFieldRangeValue)(field, dateMode),
14
- onChange: (0, __WEBPACK_EXTERNAL_MODULE__FormRangeCalendar_js_70d23bc2__.getOnRangeChange)({
13
+ value: (0, __WEBPACK_EXTERNAL_MODULE__utils_range_js_50638587__.getFieldRangeValue)(field, dateMode),
14
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE__utils_range_js_50638587__.getOnRangeChange)({
15
15
  field,
16
16
  valueMode,
17
- emptyValue
17
+ emptyValue,
18
+ defaultTime
18
19
  }),
19
20
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
20
21
  ...rest
@@ -25,78 +25,33 @@ var __webpack_require__ = {};
25
25
  var __webpack_exports__ = {};
26
26
  __webpack_require__.r(__webpack_exports__);
27
27
  __webpack_require__.d(__webpack_exports__, {
28
- getRangeUpdater: ()=>getRangeUpdater,
29
- FormRangeCalendar: ()=>FormRangeCalendar,
30
- getFieldRangeValue: ()=>getFieldRangeValue,
31
- getRangeValue: ()=>getRangeValue,
32
- getOnRangeChange: ()=>getOnRangeChange
28
+ FormRangeCalendar: ()=>FormRangeCalendar
33
29
  });
34
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
35
31
  const external_react_namespaceObject = require("react");
36
32
  const react_namespaceObject = require("@heroui/react");
37
- const external_deepsea_tools_namespaceObject = require("deepsea-tools");
38
- const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
39
- const getTimeValue_cjs_namespaceObject = require("../utils/getTimeValue.cjs");
40
- const parseTime_cjs_namespaceObject = require("../utils/parseTime.cjs");
41
33
  const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
42
- function getRangeValue(value, dateMode) {
43
- return (0, external_deepsea_tools_namespaceObject.isNonNullable)(value) ? {
44
- start: (0, parseTime_cjs_namespaceObject.parseTime)(value[0].valueOf(), dateMode),
45
- end: (0, parseTime_cjs_namespaceObject.parseTime)(value[1].valueOf(), dateMode)
46
- } : null;
47
- }
48
- function getFieldRangeValue(field, dateMode) {
49
- return getRangeValue(field.state.value, dateMode);
50
- }
51
- function getRangeUpdater({ value, valueMode, emptyValue }) {
52
- if (!(0, external_deepsea_tools_namespaceObject.isNonNullable)(value)) return (0, external_FormProvider_cjs_namespaceObject.getEmptyValue)(emptyValue);
53
- if ("timestamp" === valueMode) return [
54
- (0, getTimeValue_cjs_namespaceObject.getTimeValue)(value.start),
55
- (0, getTimeValue_cjs_namespaceObject.getTimeValue)(value.end)
56
- ];
57
- function updater(prev) {
58
- return prev?.[0] instanceof Date && prev?.[1] instanceof Date && prev[0].valueOf() === value.start.valueOf() && prev[1].valueOf() === value.end.valueOf() ? prev : [
59
- new Date((0, getTimeValue_cjs_namespaceObject.getTimeValue)(value.start)),
60
- new Date((0, getTimeValue_cjs_namespaceObject.getTimeValue)(value.end))
61
- ];
62
- }
63
- return updater;
64
- }
65
- function getOnRangeChange({ field, valueMode, emptyValue }) {
66
- return function(value) {
67
- field.handleChange(getRangeUpdater({
68
- value,
69
- valueMode,
70
- emptyValue
71
- }));
72
- };
73
- }
74
- function FormRangeCalendar({ field: _field, valueMode, emptyValue, dateMode, component: RangeCalendar2 = react_namespaceObject.RangeCalendar, ...rest }) {
34
+ const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
35
+ const range_cjs_namespaceObject = require("../utils/range.cjs");
36
+ function FormRangeCalendar({ field: _field, valueMode, emptyValue, dateMode, defaultTime, component: RangeCalendar2 = react_namespaceObject.RangeCalendar, ...rest }) {
75
37
  const field = _field;
76
38
  const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
77
39
  emptyValue ??= context.emptyValue;
78
40
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(RangeCalendar2, {
79
- value: getFieldRangeValue(field, dateMode),
80
- onChange: getOnRangeChange({
41
+ value: (0, range_cjs_namespaceObject.getFieldRangeValue)(field, dateMode),
42
+ onChange: (0, range_cjs_namespaceObject.getOnRangeChange)({
81
43
  field,
82
44
  valueMode,
83
- emptyValue
45
+ emptyValue,
46
+ defaultTime
84
47
  }),
85
48
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
86
49
  ...rest
87
50
  });
88
51
  }
89
52
  exports.FormRangeCalendar = __webpack_exports__.FormRangeCalendar;
90
- exports.getFieldRangeValue = __webpack_exports__.getFieldRangeValue;
91
- exports.getOnRangeChange = __webpack_exports__.getOnRangeChange;
92
- exports.getRangeUpdater = __webpack_exports__.getRangeUpdater;
93
- exports.getRangeValue = __webpack_exports__.getRangeValue;
94
53
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
95
- "FormRangeCalendar",
96
- "getFieldRangeValue",
97
- "getOnRangeChange",
98
- "getRangeUpdater",
99
- "getRangeValue"
54
+ "FormRangeCalendar"
100
55
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
101
56
  Object.defineProperty(exports, '__esModule', {
102
57
  value: true
@@ -1,28 +1,16 @@
1
- import { ReactNode, SetStateAction } from "react";
2
- import { DateValue, RangeCalendar, RangeCalendarProps, RangeValue } from "@heroui/react";
3
- import { Field, FieldComponentProps } from "soda-tanstack-form";
1
+ import { ReactNode } from "react";
2
+ import { DateValue, RangeCalendar, RangeCalendarProps } from "@heroui/react";
3
+ import { FieldComponentProps } from "soda-tanstack-form";
4
4
  import { StrictOmit } from "soda-type";
5
- import { DateMode } from "../utils/parseTime";
6
5
  import { EmptyValue } from "./FormProvider";
7
- import { TimeValueMode, TimeValueModeMap } from "./FormTimeInput";
6
+ import { DateMode } from "../utils/parseTime";
7
+ import { RangeDefaultTime } from "../utils/range";
8
+ import { TimeValueMode, TimeValueModeMap } from "../utils/time";
8
9
  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> {
9
10
  valueMode?: ValueMode;
10
11
  emptyValue?: EmptyValue;
11
12
  dateMode?: DateMode;
13
+ defaultTime?: RangeDefaultTime | (() => RangeDefaultTime);
12
14
  component?: <T extends DateValue>(props: RangeCalendarProps<T>) => ReactNode;
13
15
  }
14
- export declare function getRangeValue<T extends DateMode>(value: [Date, Date] | [number, number] | null | undefined, dateMode?: T): RangeValue<DateValue> | null;
15
- export declare function getFieldRangeValue<T extends [Date, Date] | [number, number] | null | undefined, P extends DateMode>(field: Field<T>, dateMode?: P): RangeValue<DateValue> | null;
16
- export interface GetRangeUpdaterParams {
17
- value: RangeValue<DateValue> | null;
18
- valueMode?: TimeValueMode;
19
- emptyValue?: EmptyValue;
20
- }
21
- export declare function getRangeUpdater({ value, valueMode, emptyValue }: GetRangeUpdaterParams): SetStateAction<[Date, Date] | [number, number] | null | undefined>;
22
- export interface GetOnRangeChangeParams<T extends [Date, Date] | [number, number] | null | undefined> {
23
- field: Field<T>;
24
- valueMode?: TimeValueMode;
25
- emptyValue?: EmptyValue;
26
- }
27
- export declare function getOnRangeChange<T extends [Date, Date] | [number, number] | null | undefined>({ field, valueMode, emptyValue }: GetOnRangeChangeParams<T>): (value: RangeValue<DateValue> | null) => void;
28
- 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, dateMode, component: RangeCalendar2, ...rest }: FormRangeCalendarProps<ValueMode, FieldValue>): ReactNode;
16
+ 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, dateMode, defaultTime, component: RangeCalendar2, ...rest }: FormRangeCalendarProps<ValueMode, FieldValue>): ReactNode;
@@ -2,56 +2,23 @@
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
5
- import * as __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__ from "deepsea-tools";
6
- import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__utils_getTimeValue_js_9ba8f683__ from "../utils/getTimeValue.js";
8
- import * as __WEBPACK_EXTERNAL_MODULE__utils_parseTime_js_d0890db8__ from "../utils/parseTime.js";
9
5
  import * as __WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__ from "./FormProvider.js";
10
- function getRangeValue(value, dateMode) {
11
- return (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.isNonNullable)(value) ? {
12
- start: (0, __WEBPACK_EXTERNAL_MODULE__utils_parseTime_js_d0890db8__.parseTime)(value[0].valueOf(), dateMode),
13
- end: (0, __WEBPACK_EXTERNAL_MODULE__utils_parseTime_js_d0890db8__.parseTime)(value[1].valueOf(), dateMode)
14
- } : null;
15
- }
16
- function getFieldRangeValue(field, dateMode) {
17
- return getRangeValue(field.state.value, dateMode);
18
- }
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);
21
- if ("timestamp" === valueMode) return [
22
- (0, __WEBPACK_EXTERNAL_MODULE__utils_getTimeValue_js_9ba8f683__.getTimeValue)(value.start),
23
- (0, __WEBPACK_EXTERNAL_MODULE__utils_getTimeValue_js_9ba8f683__.getTimeValue)(value.end)
24
- ];
25
- function updater(prev) {
26
- return prev?.[0] instanceof Date && prev?.[1] instanceof Date && prev[0].valueOf() === value.start.valueOf() && prev[1].valueOf() === value.end.valueOf() ? prev : [
27
- new Date((0, __WEBPACK_EXTERNAL_MODULE__utils_getTimeValue_js_9ba8f683__.getTimeValue)(value.start)),
28
- new Date((0, __WEBPACK_EXTERNAL_MODULE__utils_getTimeValue_js_9ba8f683__.getTimeValue)(value.end))
29
- ];
30
- }
31
- return updater;
32
- }
33
- function getOnRangeChange({ field, valueMode, emptyValue }) {
34
- return function(value) {
35
- field.handleChange(getRangeUpdater({
36
- value,
37
- valueMode,
38
- emptyValue
39
- }));
40
- };
41
- }
42
- function FormRangeCalendar({ field: _field, valueMode, emptyValue, dateMode, component: RangeCalendar2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.RangeCalendar, ...rest }) {
6
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__ from "../utils/getFieldProps.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__utils_range_js_50638587__ from "../utils/range.js";
8
+ function FormRangeCalendar({ field: _field, valueMode, emptyValue, dateMode, defaultTime, component: RangeCalendar2 = __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.RangeCalendar, ...rest }) {
43
9
  const field = _field;
44
10
  const context = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE__FormProvider_js_a80efa64__.FormContext);
45
11
  emptyValue ??= context.emptyValue;
46
12
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(RangeCalendar2, {
47
- value: getFieldRangeValue(field, dateMode),
48
- onChange: getOnRangeChange({
13
+ value: (0, __WEBPACK_EXTERNAL_MODULE__utils_range_js_50638587__.getFieldRangeValue)(field, dateMode),
14
+ onChange: (0, __WEBPACK_EXTERNAL_MODULE__utils_range_js_50638587__.getOnRangeChange)({
49
15
  field,
50
16
  valueMode,
51
- emptyValue
17
+ emptyValue,
18
+ defaultTime
52
19
  }),
53
20
  ...(0, __WEBPACK_EXTERNAL_MODULE__utils_getFieldProps_js_0615ad2a__.getFieldProps)(field),
54
21
  ...rest
55
22
  });
56
23
  }
57
- export { FormRangeCalendar, getFieldRangeValue, getOnRangeChange, getRangeUpdater, getRangeValue };
24
+ export { FormRangeCalendar };
@@ -25,66 +25,32 @@ var __webpack_require__ = {};
25
25
  var __webpack_exports__ = {};
26
26
  __webpack_require__.r(__webpack_exports__);
27
27
  __webpack_require__.d(__webpack_exports__, {
28
- getFieldValue: ()=>getFieldValue,
29
- getUpdater: ()=>getUpdater,
30
- getOnChange: ()=>getOnChange,
31
- FormTimeInput: ()=>FormTimeInput,
32
- getValue: ()=>getValue
28
+ FormTimeInput: ()=>FormTimeInput
33
29
  });
34
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
35
31
  const external_react_namespaceObject = require("react");
36
32
  const react_namespaceObject = require("@heroui/react");
37
- const external_deepsea_tools_namespaceObject = require("deepsea-tools");
38
- const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
39
- const getTimeValue_cjs_namespaceObject = require("../utils/getTimeValue.cjs");
40
- const parseTime_cjs_namespaceObject = require("../utils/parseTime.cjs");
41
33
  const external_FormProvider_cjs_namespaceObject = require("./FormProvider.cjs");
42
- function getValue(value, parseMode) {
43
- return (0, external_deepsea_tools_namespaceObject.isNonNullable)(value) ? (0, parseTime_cjs_namespaceObject.parseTime)(value.valueOf(), parseMode) : null;
44
- }
45
- function getFieldValue(field, parseMode) {
46
- return getValue(field.state.value, parseMode);
47
- }
48
- function getUpdater({ value, valueMode, emptyValue }) {
49
- const timestamp = (0, getTimeValue_cjs_namespaceObject.getTimeValue)(value);
50
- if (!(0, external_deepsea_tools_namespaceObject.isNonNullable)(timestamp)) return (0, external_FormProvider_cjs_namespaceObject.getEmptyValue)(emptyValue);
51
- if ("timestamp" === valueMode) return timestamp;
52
- return (prev)=>prev instanceof Date && prev.valueOf() === timestamp ? prev : new Date(timestamp);
53
- }
54
- function getOnChange({ field, valueMode, emptyValue }) {
55
- return function(value) {
56
- field.handleChange(getUpdater({
57
- value,
58
- valueMode,
59
- emptyValue
60
- }));
61
- };
62
- }
63
- function FormTimeInput({ field, valueMode, emptyValue, timeMode, component: TimeInput2 = react_namespaceObject.TimeInput, ...rest }) {
34
+ const getFieldProps_cjs_namespaceObject = require("../utils/getFieldProps.cjs");
35
+ const time_cjs_namespaceObject = require("../utils/time.cjs");
36
+ function FormTimeInput({ field, valueMode, emptyValue, timeMode, defaultTime, component: TimeInput2 = react_namespaceObject.TimeInput, ...rest }) {
64
37
  const context = (0, external_react_namespaceObject.useContext)(external_FormProvider_cjs_namespaceObject.FormContext);
65
38
  emptyValue ??= context.emptyValue;
66
39
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(TimeInput2, {
67
- value: getFieldValue(field, timeMode),
68
- onChange: getOnChange({
40
+ value: (0, time_cjs_namespaceObject.getFieldValue)(field, timeMode),
41
+ onChange: (0, time_cjs_namespaceObject.getOnChange)({
69
42
  field,
70
43
  valueMode,
71
- emptyValue
44
+ emptyValue,
45
+ defaultTime
72
46
  }),
73
47
  ...(0, getFieldProps_cjs_namespaceObject.getFieldProps)(field),
74
48
  ...rest
75
49
  });
76
50
  }
77
51
  exports.FormTimeInput = __webpack_exports__.FormTimeInput;
78
- exports.getFieldValue = __webpack_exports__.getFieldValue;
79
- exports.getOnChange = __webpack_exports__.getOnChange;
80
- exports.getUpdater = __webpack_exports__.getUpdater;
81
- exports.getValue = __webpack_exports__.getValue;
82
52
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
83
- "FormTimeInput",
84
- "getFieldValue",
85
- "getOnChange",
86
- "getUpdater",
87
- "getValue"
53
+ "FormTimeInput"
88
54
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
89
55
  Object.defineProperty(exports, '__esModule', {
90
56
  value: true
@@ -1,31 +1,17 @@
1
- import { ReactNode, SetStateAction } from "react";
1
+ import { ReactNode } from "react";
2
2
  import { TimeInput, TimeInputProps } from "@heroui/react";
3
- import { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from "@internationalized/date";
4
- import { Field, FieldComponentProps } from "soda-tanstack-form";
3
+ import { CalendarDateTime, Time, ZonedDateTime } from "@internationalized/date";
4
+ import { FieldComponentProps } from "soda-tanstack-form";
5
5
  import { StrictOmit } from "soda-type";
6
- import { ParseMode, TimeMode } from "../utils/parseTime";
7
6
  import { EmptyValue } from "./FormProvider";
8
- export type TimeValue = Date | number;
9
- export type TimeValueMode = "date" | "timestamp";
10
- export type TimeValueModeMap<ValueMode extends TimeValueMode> = ValueMode extends "date" ? Date : ValueMode extends "timestamp" ? number : never;
7
+ import { DefaultTime } from "../utils/getTimeValue";
8
+ import { TimeMode } from "../utils/parseTime";
9
+ import { TimeValueMode, TimeValueModeMap } from "../utils/time";
11
10
  export interface FormTimeInputProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined> extends StrictOmit<FieldComponentProps<typeof TimeInput, FieldValue>, never> {
12
11
  valueMode?: ValueMode;
13
12
  emptyValue?: EmptyValue;
14
13
  timeMode?: TimeMode;
14
+ defaultTime?: DefaultTime | (() => DefaultTime);
15
15
  component?: <T extends Time | CalendarDateTime | ZonedDateTime>(props: TimeInputProps<T>) => ReactNode;
16
16
  }
17
- export declare function getValue<T extends ParseMode>(value: Date | number | null | undefined, parseMode?: T): InstanceType<T> | null;
18
- export declare function getFieldValue<T extends Date | number | null | undefined, P extends ParseMode>(field: Field<T>, parseMode?: P): InstanceType<P> | null;
19
- export interface GetUpdaterParams {
20
- value: CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null;
21
- valueMode?: TimeValueMode;
22
- emptyValue?: EmptyValue;
23
- }
24
- export declare function getUpdater({ value, valueMode, emptyValue }: GetUpdaterParams): SetStateAction<Date | number | null | undefined>;
25
- export interface GetOnChangeParams<T extends Date | number | null | undefined> {
26
- field: Field<T>;
27
- valueMode?: TimeValueMode;
28
- emptyValue?: EmptyValue;
29
- }
30
- export declare function getOnChange<T extends Date | number | null | undefined>({ field, valueMode, emptyValue }: GetOnChangeParams<T>): (value: CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null) => void;
31
- export declare function FormTimeInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, timeMode, component: TimeInput2, ...rest }: FormTimeInputProps<ValueMode, FieldValue>): ReactNode;
17
+ export declare function FormTimeInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | null | undefined = TimeValueModeMap<ValueMode> | null | undefined>({ field, valueMode, emptyValue, timeMode, defaultTime, component: TimeInput2, ...rest }: FormTimeInputProps<ValueMode, FieldValue>): ReactNode;