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.
- package/dist/components/FormAutocomplete.d.ts +2 -3
- package/dist/components/FormCalendar.cjs +10 -2
- package/dist/components/FormCalendar.d.ts +4 -2
- package/dist/components/FormCalendar.js +10 -2
- package/dist/components/FormCheckbox.d.ts +2 -2
- package/dist/components/FormCheckboxGroup.d.ts +2 -2
- package/dist/components/FormDateInput.cjs +10 -2
- package/dist/components/FormDateInput.d.ts +4 -2
- package/dist/components/FormDateInput.js +10 -2
- package/dist/components/FormDatePicker.cjs +10 -2
- package/dist/components/FormDatePicker.d.ts +4 -2
- package/dist/components/FormDatePicker.js +10 -2
- package/dist/components/FormDateRangePicker.cjs +11 -2
- package/dist/components/FormDateRangePicker.d.ts +4 -2
- package/dist/components/FormDateRangePicker.js +11 -2
- package/dist/components/FormInput.d.ts +2 -2
- package/dist/components/FormInputOtp.d.ts +2 -2
- package/dist/components/FormNumberInput.d.ts +2 -2
- package/dist/components/FormPagination.d.ts +2 -2
- package/dist/components/FormProvider.cjs +61 -0
- package/dist/components/FormProvider.d.ts +15 -0
- package/dist/components/FormProvider.js +21 -0
- package/dist/components/FormRadioGroup.d.ts +2 -2
- package/dist/components/FormRangeCalendar.cjs +19 -6
- package/dist/components/FormRangeCalendar.d.ts +18 -6
- package/dist/components/FormRangeCalendar.js +19 -6
- package/dist/components/FormSelect.cjs +6 -2
- package/dist/components/FormSelect.d.ts +4 -2
- package/dist/components/FormSelect.js +6 -2
- package/dist/components/FormSwitch.d.ts +2 -2
- package/dist/components/FormTextarea.d.ts +2 -2
- package/dist/components/FormTimeInput.cjs +18 -6
- package/dist/components/FormTimeInput.d.ts +18 -6
- package/dist/components/FormTimeInput.js +18 -6
- package/dist/index.cjs +39 -30
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +3 -3
- package/src/components/FormAutocomplete.tsx +2 -3
- package/src/components/FormCalendar.tsx +10 -5
- package/src/components/FormCheckbox.tsx +5 -2
- package/src/components/FormCheckboxGroup.tsx +2 -2
- package/src/components/FormDateInput.tsx +10 -5
- package/src/components/FormDatePicker.tsx +10 -5
- package/src/components/FormDateRangePicker.tsx +13 -10
- package/src/components/FormInput.tsx +2 -2
- package/src/components/FormInputOtp.tsx +5 -2
- package/src/components/FormNumberInput.tsx +5 -2
- package/src/components/FormPagination.tsx +5 -2
- package/src/components/FormProvider.tsx +32 -0
- package/src/components/FormRadioGroup.tsx +5 -2
- package/src/components/FormRangeCalendar.tsx +32 -19
- package/src/components/FormSelect.tsx +10 -5
- package/src/components/FormSwitch.tsx +5 -2
- package/src/components/FormTextarea.tsx +5 -2
- package/src/components/FormTimeInput.tsx +29 -15
- package/src/index.ts +1 -0
- 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
|
|
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)(
|
|
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)(
|
|
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)(
|
|
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)(
|
|
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)(
|
|
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)(
|
|
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)(
|
|
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)(
|
|
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(
|
|
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(
|
|
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
|
|
12
|
-
|
|
13
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|