soda-heroui 0.1.1 → 0.2.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.
- package/dist/cjs/components/FormCalendar.d.ts +4 -2
- package/dist/cjs/components/FormCalendar.js +4 -6
- package/dist/cjs/components/FormCalendar.js.map +2 -2
- package/dist/cjs/components/FormDateInput.d.ts +4 -2
- package/dist/cjs/components/FormDateInput.js +4 -6
- package/dist/cjs/components/FormDateInput.js.map +2 -2
- package/dist/cjs/components/FormDatePicker.d.ts +4 -2
- package/dist/cjs/components/FormDatePicker.js +4 -6
- package/dist/cjs/components/FormDatePicker.js.map +2 -2
- package/dist/cjs/components/FormDateRangePicker.d.ts +4 -2
- package/dist/cjs/components/FormDateRangePicker.js +4 -12
- package/dist/cjs/components/FormDateRangePicker.js.map +2 -2
- package/dist/cjs/components/FormRangeCalendar.d.ts +11 -5
- package/dist/cjs/components/FormRangeCalendar.js +37 -11
- package/dist/cjs/components/FormRangeCalendar.js.map +2 -2
- package/dist/cjs/components/FormSwitch.d.ts +1 -1
- package/dist/cjs/components/FormSwitch.js.map +1 -1
- package/dist/cjs/components/FormTimeInput.d.ts +13 -4
- package/dist/cjs/components/FormTimeInput.js +32 -5
- package/dist/cjs/components/FormTimeInput.js.map +2 -2
- package/dist/cjs/utils/getTimeValue.d.ts +1 -1
- package/dist/cjs/utils/getTimeValue.js.map +2 -2
- package/dist/esm/components/FormCalendar.d.ts +4 -2
- package/dist/esm/components/FormCalendar.js +4 -5
- package/dist/esm/components/FormCalendar.js.map +1 -1
- package/dist/esm/components/FormDateInput.d.ts +4 -2
- package/dist/esm/components/FormDateInput.js +4 -5
- package/dist/esm/components/FormDateInput.js.map +1 -1
- package/dist/esm/components/FormDatePicker.d.ts +4 -2
- package/dist/esm/components/FormDatePicker.js +4 -5
- package/dist/esm/components/FormDatePicker.js.map +1 -1
- package/dist/esm/components/FormDateRangePicker.d.ts +4 -2
- package/dist/esm/components/FormDateRangePicker.js +4 -8
- package/dist/esm/components/FormDateRangePicker.js.map +1 -1
- package/dist/esm/components/FormRangeCalendar.d.ts +11 -5
- package/dist/esm/components/FormRangeCalendar.js +25 -5
- package/dist/esm/components/FormRangeCalendar.js.map +1 -1
- package/dist/esm/components/FormSwitch.d.ts +1 -1
- package/dist/esm/components/FormSwitch.js.map +1 -1
- package/dist/esm/components/FormTimeInput.d.ts +13 -4
- package/dist/esm/components/FormTimeInput.js +20 -2
- package/dist/esm/components/FormTimeInput.js.map +1 -1
- package/dist/esm/utils/getTimeValue.d.ts +1 -1
- package/dist/esm/utils/getTimeValue.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FormCalendar.tsx +13 -9
- package/src/components/FormDateInput.tsx +13 -9
- package/src/components/FormDatePicker.tsx +13 -9
- package/src/components/FormDateRangePicker.tsx +21 -18
- package/src/components/FormRangeCalendar.tsx +53 -18
- package/src/components/FormSwitch.tsx +1 -1
- package/src/components/FormTimeInput.tsx +45 -7
- package/src/utils/getTimeValue.ts +4 -2
|
@@ -2,6 +2,8 @@ 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
|
-
|
|
5
|
+
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>, "children"> {
|
|
7
|
+
valueMode?: ValueMode;
|
|
6
8
|
}
|
|
7
|
-
export declare function FormCalendar<FieldValue extends
|
|
9
|
+
export declare function FormCalendar<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormCalendarProps<ValueMode, FieldValue>): ReactNode;
|
|
@@ -24,16 +24,14 @@ __export(FormCalendar_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(FormCalendar_exports);
|
|
26
26
|
var import_react = require("@heroui/react");
|
|
27
|
-
var import_deepsea_tools = require("deepsea-tools");
|
|
28
|
-
var import_getTimeValue = require("../utils/getTimeValue");
|
|
29
|
-
var import_parseTime = require("../utils/parseTime");
|
|
30
27
|
var import_ErrorMessage = require("./ErrorMessage");
|
|
31
|
-
|
|
28
|
+
var import_FormTimeInput = require("./FormTimeInput");
|
|
29
|
+
function FormCalendar({ field, valueMode, ...rest }) {
|
|
32
30
|
return /* @__PURE__ */ React.createElement(
|
|
33
31
|
import_react.Calendar,
|
|
34
32
|
{
|
|
35
|
-
value: (0,
|
|
36
|
-
onChange: (
|
|
33
|
+
value: (0, import_FormTimeInput.getFieldValue)(field),
|
|
34
|
+
onChange: (0, import_FormTimeInput.getOnChange)(field, valueMode),
|
|
37
35
|
onBlur: field.handleBlur,
|
|
38
36
|
errorMessage: /* @__PURE__ */ React.createElement(import_ErrorMessage.ErrorMessage, { data: field.state.meta.errors }),
|
|
39
37
|
isInvalid: field.state.meta.errors.some(Boolean),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/FormCalendar.tsx"],
|
|
4
|
-
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { Calendar } from \"@heroui/react\"\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAyB;
|
|
4
|
+
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { Calendar } from \"@heroui/react\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { ErrorMessage } from \"./ErrorMessage\"\nimport { TimeValueMode, TimeValueModeMap, getFieldValue, getOnChange } from \"./FormTimeInput\"\n\nexport interface FormCalendarProps<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n> extends StrictOmit<FieldComponentProps<typeof Calendar, FieldValue>, \"children\"> {\n valueMode?: ValueMode\n}\n\nexport function FormCalendar<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n>({ field, valueMode, ...rest }: FormCalendarProps<ValueMode, FieldValue>): ReactNode {\n return (\n <Calendar\n value={getFieldValue(field)}\n onChange={getOnChange(field, valueMode)}\n onBlur={field.handleBlur}\n errorMessage={<ErrorMessage data={field.state.meta.errors} />}\n isInvalid={field.state.meta.errors.some(Boolean)}\n {...rest}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAyB;AAIzB,0BAA6B;AAC7B,2BAA4E;AASrE,SAAS,aAGd,EAAE,OAAO,WAAW,GAAG,KAAK,GAAwD;AAClF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAO,oCAAc,KAAK;AAAA,MAC1B,cAAU,kCAAY,OAAO,SAAS;AAAA,MACtC,QAAQ,MAAM;AAAA,MACd,cAAc,oCAAC,oCAAa,MAAM,MAAM,MAAM,KAAK,QAAQ;AAAA,MAC3D,WAAW,MAAM,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,MAC9C,GAAG;AAAA;AAAA,EACR;AAER;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,8 @@ 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
|
-
|
|
5
|
+
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>, "children"> {
|
|
7
|
+
valueMode?: ValueMode;
|
|
6
8
|
}
|
|
7
|
-
export declare function FormDateInput<FieldValue extends
|
|
9
|
+
export declare function FormDateInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormDateInputProps<ValueMode, FieldValue>): ReactNode;
|
|
@@ -24,16 +24,14 @@ __export(FormDateInput_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(FormDateInput_exports);
|
|
26
26
|
var import_react = require("@heroui/react");
|
|
27
|
-
var import_deepsea_tools = require("deepsea-tools");
|
|
28
|
-
var import_getTimeValue = require("../utils/getTimeValue");
|
|
29
|
-
var import_parseTime = require("../utils/parseTime");
|
|
30
27
|
var import_ErrorMessage = require("./ErrorMessage");
|
|
31
|
-
|
|
28
|
+
var import_FormTimeInput = require("./FormTimeInput");
|
|
29
|
+
function FormDateInput({ field, valueMode, ...rest }) {
|
|
32
30
|
return /* @__PURE__ */ React.createElement(
|
|
33
31
|
import_react.DateInput,
|
|
34
32
|
{
|
|
35
|
-
value: (0,
|
|
36
|
-
onChange: (
|
|
33
|
+
value: (0, import_FormTimeInput.getFieldValue)(field),
|
|
34
|
+
onChange: (0, import_FormTimeInput.getOnChange)(field, valueMode),
|
|
37
35
|
onBlur: field.handleBlur,
|
|
38
36
|
errorMessage: /* @__PURE__ */ React.createElement(import_ErrorMessage.ErrorMessage, { data: field.state.meta.errors }),
|
|
39
37
|
isInvalid: field.state.meta.errors.some(Boolean),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/FormDateInput.tsx"],
|
|
4
|
-
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { DateInput } from \"@heroui/react\"\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA0B;
|
|
4
|
+
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { DateInput } from \"@heroui/react\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { ErrorMessage } from \"./ErrorMessage\"\nimport { TimeValueMode, TimeValueModeMap, getFieldValue, getOnChange } from \"./FormTimeInput\"\n\nexport interface FormDateInputProps<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n> extends StrictOmit<FieldComponentProps<typeof DateInput, FieldValue>, \"children\"> {\n valueMode?: ValueMode\n}\n\nexport function FormDateInput<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n>({ field, valueMode, ...rest }: FormDateInputProps<ValueMode, FieldValue>): ReactNode {\n return (\n <DateInput\n value={getFieldValue(field)}\n onChange={getOnChange(field, valueMode)}\n onBlur={field.handleBlur}\n errorMessage={<ErrorMessage data={field.state.meta.errors} />}\n isInvalid={field.state.meta.errors.some(Boolean)}\n {...rest}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA0B;AAI1B,0BAA6B;AAC7B,2BAA4E;AASrE,SAAS,cAGd,EAAE,OAAO,WAAW,GAAG,KAAK,GAAyD;AACnF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAO,oCAAc,KAAK;AAAA,MAC1B,cAAU,kCAAY,OAAO,SAAS;AAAA,MACtC,QAAQ,MAAM;AAAA,MACd,cAAc,oCAAC,oCAAa,MAAM,MAAM,MAAM,KAAK,QAAQ;AAAA,MAC3D,WAAW,MAAM,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,MAC9C,GAAG;AAAA;AAAA,EACR;AAER;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,8 @@ 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
|
-
|
|
5
|
+
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>, "children"> {
|
|
7
|
+
valueMode?: ValueMode;
|
|
6
8
|
}
|
|
7
|
-
export declare function FormDatePicker<FieldValue extends
|
|
9
|
+
export declare function FormDatePicker<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormDatePickerProps<ValueMode, FieldValue>): ReactNode;
|
|
@@ -24,16 +24,14 @@ __export(FormDatePicker_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(FormDatePicker_exports);
|
|
26
26
|
var import_react = require("@heroui/react");
|
|
27
|
-
var import_deepsea_tools = require("deepsea-tools");
|
|
28
|
-
var import_getTimeValue = require("../utils/getTimeValue");
|
|
29
|
-
var import_parseTime = require("../utils/parseTime");
|
|
30
27
|
var import_ErrorMessage = require("./ErrorMessage");
|
|
31
|
-
|
|
28
|
+
var import_FormTimeInput = require("./FormTimeInput");
|
|
29
|
+
function FormDatePicker({ field, valueMode, ...rest }) {
|
|
32
30
|
return /* @__PURE__ */ React.createElement(
|
|
33
31
|
import_react.DatePicker,
|
|
34
32
|
{
|
|
35
|
-
value: (0,
|
|
36
|
-
onChange: (
|
|
33
|
+
value: (0, import_FormTimeInput.getFieldValue)(field),
|
|
34
|
+
onChange: (0, import_FormTimeInput.getOnChange)(field, valueMode),
|
|
37
35
|
onBlur: field.handleBlur,
|
|
38
36
|
errorMessage: /* @__PURE__ */ React.createElement(import_ErrorMessage.ErrorMessage, { data: field.state.meta.errors }),
|
|
39
37
|
isInvalid: field.state.meta.errors.some(Boolean),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/FormDatePicker.tsx"],
|
|
4
|
-
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { DatePicker } from \"@heroui/react\"\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA2B;
|
|
4
|
+
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { DatePicker } from \"@heroui/react\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { ErrorMessage } from \"./ErrorMessage\"\nimport { TimeValueMode, TimeValueModeMap, getFieldValue, getOnChange } from \"./FormTimeInput\"\n\nexport interface FormDatePickerProps<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n> extends StrictOmit<FieldComponentProps<typeof DatePicker, FieldValue>, \"children\"> {\n valueMode?: ValueMode\n}\n\nexport function FormDatePicker<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n>({ field, valueMode, ...rest }: FormDatePickerProps<ValueMode, FieldValue>): ReactNode {\n return (\n <DatePicker\n value={getFieldValue(field)}\n onChange={getOnChange(field, valueMode)}\n onBlur={field.handleBlur}\n errorMessage={<ErrorMessage data={field.state.meta.errors} />}\n isInvalid={field.state.meta.errors.some(Boolean)}\n {...rest}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA2B;AAI3B,0BAA6B;AAC7B,2BAA4E;AASrE,SAAS,eAGd,EAAE,OAAO,WAAW,GAAG,KAAK,GAA0D;AACpF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAO,oCAAc,KAAK;AAAA,MAC1B,cAAU,kCAAY,OAAO,SAAS;AAAA,MACtC,QAAQ,MAAM;AAAA,MACd,cAAc,oCAAC,oCAAa,MAAM,MAAM,MAAM,KAAK,QAAQ;AAAA,MAC3D,WAAW,MAAM,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,MAC9C,GAAG;AAAA;AAAA,EACR;AAER;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,8 @@ 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
|
-
|
|
5
|
+
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>, "children"> {
|
|
7
|
+
valueMode?: ValueMode;
|
|
6
8
|
}
|
|
7
|
-
export declare function FormDateRangePicker<FieldValue extends [
|
|
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;
|
|
@@ -24,22 +24,14 @@ __export(FormDateRangePicker_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(FormDateRangePicker_exports);
|
|
26
26
|
var import_react = require("@heroui/react");
|
|
27
|
-
var import_deepsea_tools = require("deepsea-tools");
|
|
28
|
-
var import_getTimeValue = require("../utils/getTimeValue");
|
|
29
|
-
var import_parseTime = require("../utils/parseTime");
|
|
30
27
|
var import_ErrorMessage = require("./ErrorMessage");
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
...rest
|
|
34
|
-
}) {
|
|
28
|
+
var import_FormRangeCalendar = require("./FormRangeCalendar");
|
|
29
|
+
function FormDateRangePicker({ field, valueMode, ...rest }) {
|
|
35
30
|
return /* @__PURE__ */ React.createElement(
|
|
36
31
|
import_react.DateRangePicker,
|
|
37
32
|
{
|
|
38
|
-
value: (0,
|
|
39
|
-
|
|
40
|
-
end: (0, import_parseTime.parseTime)(field.state.value[1])
|
|
41
|
-
} : null,
|
|
42
|
-
onChange: (value) => field.handleChange((0, import_deepsea_tools.isNonNullable)(value) ? [(0, import_getTimeValue.getTimeValue)(value.start), (0, import_getTimeValue.getTimeValue)(value.end)] : void 0),
|
|
33
|
+
value: (0, import_FormRangeCalendar.getFieldRangeValue)(field),
|
|
34
|
+
onChange: (0, import_FormRangeCalendar.getOnRangeChange)(field, valueMode),
|
|
43
35
|
onBlur: field.handleBlur,
|
|
44
36
|
errorMessage: /* @__PURE__ */ React.createElement(import_ErrorMessage.ErrorMessage, { data: field.state.meta.errors }),
|
|
45
37
|
isInvalid: field.state.meta.errors.some(Boolean),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/FormDateRangePicker.tsx"],
|
|
4
|
-
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { DateRangePicker } from \"@heroui/react\"\nimport { isNonNullable } from \"deepsea-tools\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { getTimeValue } from \"@/utils/getTimeValue\"\n\nimport { parseTime } from \"../utils/parseTime\"\nimport { ErrorMessage } from \"./ErrorMessage\"\n\nexport interface FormDateRangePickerProps
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,
|
|
4
|
+
"sourcesContent": ["\"use client\"\n\nimport { ReactNode, SetStateAction } from \"react\"\nimport { DateRangePicker, DateValue, RangeValue } from \"@heroui/react\"\nimport { isNonNullable } from \"deepsea-tools\"\nimport { Field, FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { getTimeValue } from \"@/utils/getTimeValue\"\n\nimport { parseTime } from \"../utils/parseTime\"\nimport { ErrorMessage } from \"./ErrorMessage\"\nimport { TimeValueMode, TimeValueModeMap } from \"./FormTimeInput\"\nimport { getFieldRangeValue, getOnRangeChange } from \"./FormRangeCalendar\"\n\nexport interface FormDateRangePickerProps<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined =\n | [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>]\n | undefined,\n> extends StrictOmit<FieldComponentProps<typeof DateRangePicker, FieldValue>, \"children\"> {\n valueMode?: ValueMode\n}\n\nexport function FormDateRangePicker<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined =\n | [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>]\n | undefined,\n>({ field, valueMode, ...rest }: FormDateRangePickerProps<ValueMode, FieldValue>): ReactNode {\n return (\n <DateRangePicker\n value={getFieldRangeValue(field as unknown as Field<[Date, Date] | [number, number] | undefined>)}\n onChange={getOnRangeChange(field as unknown as Field<[Date, Date] | [number, number] | undefined>, valueMode)}\n onBlur={field.handleBlur}\n errorMessage={<ErrorMessage data={field.state.meta.errors} />}\n isInvalid={field.state.meta.errors.some(Boolean)}\n {...rest}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAuD;AAQvD,0BAA6B;AAE7B,+BAAqD;AAW9C,SAAS,oBAKd,EAAE,OAAO,WAAW,GAAG,KAAK,GAA+D;AACzF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAO,6CAAmB,KAAsE;AAAA,MAChG,cAAU,2CAAiB,OAAwE,SAAS;AAAA,MAC5G,QAAQ,MAAM;AAAA,MACd,cAAc,oCAAC,oCAAa,MAAM,MAAM,MAAM,KAAK,QAAQ;AAAA,MAC3D,WAAW,MAAM,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,MAC9C,GAAG;AAAA;AAAA,EACR;AAER;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
import { RangeCalendar } from "@heroui/react";
|
|
3
|
-
import { FieldComponentProps } from "soda-tanstack-form";
|
|
1
|
+
import { ReactNode, SetStateAction } from "react";
|
|
2
|
+
import { DateValue, RangeCalendar, RangeValue } from "@heroui/react";
|
|
3
|
+
import { Field, FieldComponentProps } from "soda-tanstack-form";
|
|
4
4
|
import { StrictOmit } from "soda-type";
|
|
5
|
-
|
|
5
|
+
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>, "children"> {
|
|
7
|
+
valueMode?: ValueMode;
|
|
6
8
|
}
|
|
7
|
-
export declare function
|
|
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;
|
|
@@ -20,7 +20,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/components/FormRangeCalendar.tsx
|
|
21
21
|
var FormRangeCalendar_exports = {};
|
|
22
22
|
__export(FormRangeCalendar_exports, {
|
|
23
|
-
FormRangeCalendar: () => FormRangeCalendar
|
|
23
|
+
FormRangeCalendar: () => FormRangeCalendar,
|
|
24
|
+
getFieldRangeValue: () => getFieldRangeValue,
|
|
25
|
+
getOnRangeChange: () => getOnRangeChange,
|
|
26
|
+
getRangeUpdater: () => getRangeUpdater,
|
|
27
|
+
getRangeValue: () => getRangeValue
|
|
24
28
|
});
|
|
25
29
|
module.exports = __toCommonJS(FormRangeCalendar_exports);
|
|
26
30
|
var import_react = require("@heroui/react");
|
|
@@ -28,18 +32,36 @@ var import_deepsea_tools = require("deepsea-tools");
|
|
|
28
32
|
var import_getTimeValue = require("../utils/getTimeValue");
|
|
29
33
|
var import_parseTime = require("../utils/parseTime");
|
|
30
34
|
var import_ErrorMessage = require("./ErrorMessage");
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
function getRangeValue(value) {
|
|
36
|
+
return (0, import_deepsea_tools.isNonNullable)(value) ? {
|
|
37
|
+
start: (0, import_parseTime.parseTime)(value[0].valueOf()),
|
|
38
|
+
end: (0, import_parseTime.parseTime)(value[1].valueOf())
|
|
39
|
+
} : null;
|
|
40
|
+
}
|
|
41
|
+
function getFieldRangeValue(field) {
|
|
42
|
+
return getRangeValue(field.state.value);
|
|
43
|
+
}
|
|
44
|
+
function getRangeUpdater(value, valueMode) {
|
|
45
|
+
if (!(0, import_deepsea_tools.isNonNullable)(value))
|
|
46
|
+
return void 0;
|
|
47
|
+
if (valueMode === "timestamp")
|
|
48
|
+
return [(0, import_getTimeValue.getTimeValue)(value.start), (0, import_getTimeValue.getTimeValue)(value.end)];
|
|
49
|
+
function updater(prev) {
|
|
50
|
+
return prev?.[0] instanceof Date && prev?.[1] instanceof Date && prev[0].valueOf() === value.start.valueOf() && prev[1].valueOf() === value.end.valueOf() ? prev : [new Date((0, import_getTimeValue.getTimeValue)(value.start)), new Date((0, import_getTimeValue.getTimeValue)(value.end))];
|
|
51
|
+
}
|
|
52
|
+
return updater;
|
|
53
|
+
}
|
|
54
|
+
function getOnRangeChange(field, valueMode) {
|
|
55
|
+
return function onChange(value) {
|
|
56
|
+
field.handleChange(getRangeUpdater(value, valueMode));
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function FormRangeCalendar({ field, valueMode, ...rest }) {
|
|
35
60
|
return /* @__PURE__ */ React.createElement(
|
|
36
61
|
import_react.RangeCalendar,
|
|
37
62
|
{
|
|
38
|
-
value: (
|
|
39
|
-
|
|
40
|
-
end: (0, import_parseTime.parseTime)(field.state.value[1])
|
|
41
|
-
} : null,
|
|
42
|
-
onChange: (value) => field.handleChange((0, import_deepsea_tools.isNonNullable)(value) ? [(0, import_getTimeValue.getTimeValue)(value.start), (0, import_getTimeValue.getTimeValue)(value.end)] : void 0),
|
|
63
|
+
value: getFieldRangeValue(field),
|
|
64
|
+
onChange: getOnRangeChange(field, valueMode),
|
|
43
65
|
onBlur: field.handleBlur,
|
|
44
66
|
errorMessage: /* @__PURE__ */ React.createElement(import_ErrorMessage.ErrorMessage, { data: field.state.meta.errors }),
|
|
45
67
|
isInvalid: field.state.meta.errors.some(Boolean),
|
|
@@ -49,6 +71,10 @@ function FormRangeCalendar({
|
|
|
49
71
|
}
|
|
50
72
|
// Annotate the CommonJS export names for ESM import in node:
|
|
51
73
|
0 && (module.exports = {
|
|
52
|
-
FormRangeCalendar
|
|
74
|
+
FormRangeCalendar,
|
|
75
|
+
getFieldRangeValue,
|
|
76
|
+
getOnRangeChange,
|
|
77
|
+
getRangeUpdater,
|
|
78
|
+
getRangeValue
|
|
53
79
|
});
|
|
54
80
|
//# sourceMappingURL=FormRangeCalendar.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/FormRangeCalendar.tsx"],
|
|
4
|
-
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { RangeCalendar } from \"@heroui/react\"\nimport { isNonNullable } from \"deepsea-tools\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { getTimeValue } from \"@/utils/getTimeValue\"\n\nimport { parseTime } from \"../utils/parseTime\"\nimport { ErrorMessage } from \"./ErrorMessage\"\n\nexport interface FormRangeCalendarProps
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,
|
|
4
|
+
"sourcesContent": ["\"use client\"\n\nimport { ReactNode, SetStateAction } from \"react\"\nimport { DateValue, RangeCalendar, RangeValue } from \"@heroui/react\"\nimport { isNonNullable } from \"deepsea-tools\"\nimport { Field, FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { getTimeValue } from \"@/utils/getTimeValue\"\n\nimport { parseTime } from \"../utils/parseTime\"\nimport { ErrorMessage } from \"./ErrorMessage\"\nimport { TimeValueMode, TimeValueModeMap } from \"./FormTimeInput\"\n\nexport interface FormRangeCalendarProps<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined =\n | [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>]\n | undefined,\n> extends StrictOmit<FieldComponentProps<typeof RangeCalendar, FieldValue>, \"children\"> {\n valueMode?: ValueMode\n}\n\nexport function getRangeValue(value: [Date, Date] | [number, number] | undefined): RangeValue<DateValue> | null {\n return isNonNullable(value)\n ? {\n start: parseTime(value[0].valueOf()),\n end: parseTime(value[1].valueOf()),\n }\n : null\n}\n\nexport function getFieldRangeValue<T extends [Date, Date] | [number, number] | undefined>(field: Field<T>) {\n return getRangeValue(field.state.value)\n}\n\nexport function getRangeUpdater(value: RangeValue<DateValue> | null, valueMode?: TimeValueMode): SetStateAction<[Date, Date] | [number, number] | undefined> {\n if (!isNonNullable(value)) return undefined\n if (valueMode === \"timestamp\") return [getTimeValue(value.start), getTimeValue(value.end)]\n function updater(prev: [Date, Date] | [number, number] | undefined): [Date, Date] | [number, number] | undefined {\n return prev?.[0] instanceof Date &&\n prev?.[1] instanceof Date &&\n prev[0].valueOf() === value!.start.valueOf() &&\n prev[1].valueOf() === value!.end.valueOf()\n ? prev\n : [new Date(getTimeValue(value!.start)!), new Date(getTimeValue(value!.end)!)]\n }\n return updater\n}\n\nexport function getOnRangeChange<T extends [Date, Date] | [number, number] | undefined>(field: Field<T>, valueMode?: TimeValueMode) {\n return function onChange(value: RangeValue<DateValue> | null) {\n field.handleChange(getRangeUpdater(value, valueMode) as SetStateAction<T>)\n }\n}\n\nexport function FormRangeCalendar<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>] | undefined =\n | [TimeValueModeMap<ValueMode>, TimeValueModeMap<ValueMode>]\n | undefined,\n>({ field, valueMode, ...rest }: FormRangeCalendarProps<ValueMode, FieldValue>): ReactNode {\n return (\n <RangeCalendar\n value={getFieldRangeValue(field as unknown as Field<[Date, Date] | [number, number] | undefined>)}\n onChange={getOnRangeChange(field as unknown as Field<[Date, Date] | [number, number] | undefined>, valueMode)}\n onBlur={field.handleBlur}\n errorMessage={<ErrorMessage data={field.state.meta.errors} />}\n isInvalid={field.state.meta.errors.some(Boolean)}\n {...rest}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAqD;AACrD,2BAA8B;AAI9B,0BAA6B;AAE7B,uBAA0B;AAC1B,0BAA6B;AAYtB,SAAS,cAAc,OAAkF;AAC5G,aAAO,oCAAc,KAAK,IACpB;AAAA,IACI,WAAO,4BAAU,MAAM,CAAC,EAAE,QAAQ,CAAC;AAAA,IACnC,SAAK,4BAAU,MAAM,CAAC,EAAE,QAAQ,CAAC;AAAA,EACrC,IACA;AACV;AAEO,SAAS,mBAA0E,OAAiB;AACvG,SAAO,cAAc,MAAM,MAAM,KAAK;AAC1C;AAEO,SAAS,gBAAgB,OAAqC,WAAwF;AACzJ,MAAI,KAAC,oCAAc,KAAK;AAAG,WAAO;AAClC,MAAI,cAAc;AAAa,WAAO,KAAC,kCAAa,MAAM,KAAK,OAAG,kCAAa,MAAM,GAAG,CAAC;AACzF,WAAS,QAAQ,MAAgG;AAC7G,WAAO,OAAO,CAAC,aAAa,QACxB,OAAO,CAAC,aAAa,QACrB,KAAK,CAAC,EAAE,QAAQ,MAAM,MAAO,MAAM,QAAQ,KAC3C,KAAK,CAAC,EAAE,QAAQ,MAAM,MAAO,IAAI,QAAQ,IACvC,OACA,CAAC,IAAI,SAAK,kCAAa,MAAO,KAAK,CAAE,GAAG,IAAI,SAAK,kCAAa,MAAO,GAAG,CAAE,CAAC;AAAA,EACrF;AACA,SAAO;AACX;AAEO,SAAS,iBAAwE,OAAiB,WAA2B;AAChI,SAAO,SAAS,SAAS,OAAqC;AAC1D,UAAM,aAAa,gBAAgB,OAAO,SAAS,CAAsB;AAAA,EAC7E;AACJ;AAEO,SAAS,kBAKd,EAAE,OAAO,WAAW,GAAG,KAAK,GAA6D;AACvF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,OAAO,mBAAmB,KAAsE;AAAA,MAChG,UAAU,iBAAiB,OAAwE,SAAS;AAAA,MAC5G,QAAQ,MAAM;AAAA,MACd,cAAc,oCAAC,oCAAa,MAAM,MAAM,MAAM,KAAK,QAAQ;AAAA,MAC3D,WAAW,MAAM,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,MAC9C,GAAG;AAAA;AAAA,EACR;AAER;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@ import { ReactNode } from "react";
|
|
|
2
2
|
import { Switch } from "@heroui/react";
|
|
3
3
|
import { FieldComponentProps } from "soda-tanstack-form";
|
|
4
4
|
import { StrictOmit } from "soda-type";
|
|
5
|
-
export interface FormSwitchProps<FieldValue extends boolean | undefined = boolean | undefined> extends StrictOmit<FieldComponentProps<typeof Switch, FieldValue>,
|
|
5
|
+
export interface FormSwitchProps<FieldValue extends boolean | undefined = boolean | undefined> extends StrictOmit<FieldComponentProps<typeof Switch, FieldValue>, never> {
|
|
6
6
|
}
|
|
7
7
|
export declare function FormSwitch<FieldValue extends boolean | undefined = boolean | undefined>({ field, ...rest }: FormSwitchProps<FieldValue>): ReactNode;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/FormSwitch.tsx"],
|
|
4
|
-
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { Switch } from \"@heroui/react\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { ErrorMessage } from \"./ErrorMessage\"\n\nexport interface FormSwitchProps<FieldValue extends boolean | undefined = boolean | undefined>\n extends StrictOmit<FieldComponentProps<typeof Switch, FieldValue>,
|
|
4
|
+
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { Switch } from \"@heroui/react\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { ErrorMessage } from \"./ErrorMessage\"\n\nexport interface FormSwitchProps<FieldValue extends boolean | undefined = boolean | undefined>\n extends StrictOmit<FieldComponentProps<typeof Switch, FieldValue>, never> {}\n\nexport function FormSwitch<FieldValue extends boolean | undefined = boolean | undefined>({ field, ...rest }: FormSwitchProps<FieldValue>): ReactNode {\n return (\n <Switch\n isSelected={field.state.value ?? false}\n onValueChange={field.handleChange as (value: boolean) => void}\n onBlur={field.handleBlur}\n errorMessage={<ErrorMessage data={field.state.meta.errors} />}\n isInvalid={field.state.meta.errors.some(Boolean)}\n {...rest}\n />\n )\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAAuB;AAIvB,0BAA6B;AAKtB,SAAS,WAAyE,EAAE,OAAO,GAAG,KAAK,GAA2C;AACjJ,SACI;AAAA,IAAC;AAAA;AAAA,MACG,YAAY,MAAM,MAAM,SAAS;AAAA,MACjC,eAAe,MAAM;AAAA,MACrB,QAAQ,MAAM;AAAA,MACd,cAAc,oCAAC,oCAAa,MAAM,MAAM,MAAM,KAAK,QAAQ;AAAA,MAC3D,WAAW,MAAM,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,MAC9C,GAAG;AAAA;AAAA,EACR;AAER;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
1
|
+
import { ReactNode, SetStateAction } from "react";
|
|
2
2
|
import { TimeInput } from "@heroui/react";
|
|
3
|
-
import {
|
|
3
|
+
import { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from "@internationalized/date";
|
|
4
|
+
import { Field, FieldComponentProps } from "soda-tanstack-form";
|
|
4
5
|
import { StrictOmit } from "soda-type";
|
|
5
|
-
export
|
|
6
|
+
export type TimeValue = Date | number;
|
|
7
|
+
export type TimeValueMode = "date" | "timestamp";
|
|
8
|
+
export type TimeValueModeMap<ValueMode extends TimeValueMode> = ValueMode extends "date" ? Date : ValueMode extends "timestamp" ? number : never;
|
|
9
|
+
export interface FormTimeInputProps<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined> extends StrictOmit<FieldComponentProps<typeof TimeInput, FieldValue>, "children"> {
|
|
10
|
+
valueMode?: ValueMode;
|
|
6
11
|
}
|
|
7
|
-
export declare function
|
|
12
|
+
export declare function getValue(value: Date | number | undefined): ZonedDateTime | null;
|
|
13
|
+
export declare function getFieldValue<T extends Date | number | undefined>(field: Field<T>): ZonedDateTime | null;
|
|
14
|
+
export declare function getUpdater(value: CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null, valueMode?: TimeValueMode): SetStateAction<Date | number | undefined>;
|
|
15
|
+
export declare function getOnChange<T extends Date | number | undefined>(field: Field<T>, valueMode?: TimeValueMode): (value: CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null) => void;
|
|
16
|
+
export declare function FormTimeInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormTimeInputProps<ValueMode, FieldValue>): ReactNode;
|
|
@@ -20,7 +20,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/components/FormTimeInput.tsx
|
|
21
21
|
var FormTimeInput_exports = {};
|
|
22
22
|
__export(FormTimeInput_exports, {
|
|
23
|
-
FormTimeInput: () => FormTimeInput
|
|
23
|
+
FormTimeInput: () => FormTimeInput,
|
|
24
|
+
getFieldValue: () => getFieldValue,
|
|
25
|
+
getOnChange: () => getOnChange,
|
|
26
|
+
getUpdater: () => getUpdater,
|
|
27
|
+
getValue: () => getValue
|
|
24
28
|
});
|
|
25
29
|
module.exports = __toCommonJS(FormTimeInput_exports);
|
|
26
30
|
var import_react = require("@heroui/react");
|
|
@@ -28,12 +32,31 @@ var import_deepsea_tools = require("deepsea-tools");
|
|
|
28
32
|
var import_getTimeValue = require("../utils/getTimeValue");
|
|
29
33
|
var import_parseTime = require("../utils/parseTime");
|
|
30
34
|
var import_ErrorMessage = require("./ErrorMessage");
|
|
31
|
-
function
|
|
35
|
+
function getValue(value) {
|
|
36
|
+
return (0, import_deepsea_tools.isNonNullable)(value) ? (0, import_parseTime.parseTime)(value.valueOf()) : null;
|
|
37
|
+
}
|
|
38
|
+
function getFieldValue(field) {
|
|
39
|
+
return getValue(field.state.value);
|
|
40
|
+
}
|
|
41
|
+
function getUpdater(value, valueMode) {
|
|
42
|
+
const timestamp = (0, import_getTimeValue.getTimeValue)(value);
|
|
43
|
+
if (!(0, import_deepsea_tools.isNonNullable)(timestamp))
|
|
44
|
+
return void 0;
|
|
45
|
+
if (valueMode === "timestamp")
|
|
46
|
+
return timestamp;
|
|
47
|
+
return (prev) => prev instanceof Date && prev.valueOf() === timestamp ? prev : new Date(timestamp);
|
|
48
|
+
}
|
|
49
|
+
function getOnChange(field, valueMode) {
|
|
50
|
+
return function onChange(value) {
|
|
51
|
+
field.handleChange(getUpdater(value, valueMode));
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function FormTimeInput({ field, valueMode, ...rest }) {
|
|
32
55
|
return /* @__PURE__ */ React.createElement(
|
|
33
56
|
import_react.TimeInput,
|
|
34
57
|
{
|
|
35
|
-
value: (
|
|
36
|
-
onChange: (
|
|
58
|
+
value: getFieldValue(field),
|
|
59
|
+
onChange: getOnChange(field, valueMode),
|
|
37
60
|
onBlur: field.handleBlur,
|
|
38
61
|
errorMessage: /* @__PURE__ */ React.createElement(import_ErrorMessage.ErrorMessage, { data: field.state.meta.errors }),
|
|
39
62
|
isInvalid: field.state.meta.errors.some(Boolean),
|
|
@@ -43,6 +66,10 @@ function FormTimeInput({ field, ...rest }) {
|
|
|
43
66
|
}
|
|
44
67
|
// Annotate the CommonJS export names for ESM import in node:
|
|
45
68
|
0 && (module.exports = {
|
|
46
|
-
FormTimeInput
|
|
69
|
+
FormTimeInput,
|
|
70
|
+
getFieldValue,
|
|
71
|
+
getOnChange,
|
|
72
|
+
getUpdater,
|
|
73
|
+
getValue
|
|
47
74
|
});
|
|
48
75
|
//# sourceMappingURL=FormTimeInput.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/FormTimeInput.tsx"],
|
|
4
|
-
"sourcesContent": ["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { TimeInput } from \"@heroui/react\"\nimport { isNonNullable } from \"deepsea-tools\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { getTimeValue } from \"@/utils/getTimeValue\"\n\nimport { parseTime } from \"../utils/parseTime\"\nimport { ErrorMessage } from \"./ErrorMessage\"\n\nexport interface FormTimeInputProps
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA0B;
|
|
4
|
+
"sourcesContent": ["\"use client\"\n\nimport { ReactNode, SetStateAction } from \"react\"\nimport { TimeInput } from \"@heroui/react\"\nimport { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from \"@internationalized/date\"\nimport { isNonNullable } from \"deepsea-tools\"\nimport { Field, FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { getTimeValue } from \"@/utils/getTimeValue\"\n\nimport { parseTime } from \"../utils/parseTime\"\nimport { ErrorMessage } from \"./ErrorMessage\"\n\nexport type TimeValue = Date | number\n\nexport type TimeValueMode = \"date\" | \"timestamp\"\n\nexport type TimeValueModeMap<ValueMode extends TimeValueMode> = ValueMode extends \"date\" ? Date : ValueMode extends \"timestamp\" ? number : never\n\nexport interface FormTimeInputProps<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n> extends StrictOmit<FieldComponentProps<typeof TimeInput, FieldValue>, \"children\"> {\n valueMode?: ValueMode\n}\n\nexport function getValue(value: Date | number | undefined) {\n return isNonNullable(value) ? parseTime(value.valueOf()) : null\n}\n\nexport function getFieldValue<T extends Date | number | undefined>(field: Field<T>) {\n return getValue(field.state.value)\n}\n\nexport function getUpdater(\n value: CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null,\n valueMode?: TimeValueMode,\n): SetStateAction<Date | number | undefined> {\n const timestamp = getTimeValue(value)\n if (!isNonNullable(timestamp)) return undefined\n if (valueMode === \"timestamp\") return timestamp\n return (prev: Date | number | undefined) => (prev instanceof Date && prev.valueOf() === timestamp ? prev : new Date(timestamp))\n}\n\nexport function getOnChange<T extends Date | number | undefined>(field: Field<T>, valueMode?: TimeValueMode) {\n return function onChange(value: CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null) {\n field.handleChange(getUpdater(value, valueMode) as SetStateAction<T>)\n }\n}\n\nexport function FormTimeInput<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n>({ field, valueMode, ...rest }: FormTimeInputProps<ValueMode, FieldValue>): ReactNode {\n return (\n <TimeInput\n value={getFieldValue(field)}\n onChange={getOnChange(field, valueMode)}\n onBlur={field.handleBlur}\n errorMessage={<ErrorMessage data={field.state.meta.errors} />}\n isInvalid={field.state.meta.errors.some(Boolean)}\n {...rest}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA0B;AAE1B,2BAA8B;AAI9B,0BAA6B;AAE7B,uBAA0B;AAC1B,0BAA6B;AAetB,SAAS,SAAS,OAAkC;AACvD,aAAO,oCAAc,KAAK,QAAI,4BAAU,MAAM,QAAQ,CAAC,IAAI;AAC/D;AAEO,SAAS,cAAmD,OAAiB;AAChF,SAAO,SAAS,MAAM,MAAM,KAAK;AACrC;AAEO,SAAS,WACZ,OACA,WACyC;AACzC,QAAM,gBAAY,kCAAa,KAAK;AACpC,MAAI,KAAC,oCAAc,SAAS;AAAG,WAAO;AACtC,MAAI,cAAc;AAAa,WAAO;AACtC,SAAO,CAAC,SAAqC,gBAAgB,QAAQ,KAAK,QAAQ,MAAM,YAAY,OAAO,IAAI,KAAK,SAAS;AACjI;AAEO,SAAS,YAAiD,OAAiB,WAA2B;AACzG,SAAO,SAAS,SAAS,OAAyG;AAC9H,UAAM,aAAa,WAAW,OAAO,SAAS,CAAsB;AAAA,EACxE;AACJ;AAEO,SAAS,cAGd,EAAE,OAAO,WAAW,GAAG,KAAK,GAAyD;AACnF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,OAAO,cAAc,KAAK;AAAA,MAC1B,UAAU,YAAY,OAAO,SAAS;AAAA,MACtC,QAAQ,MAAM;AAAA,MACd,cAAc,oCAAC,oCAAa,MAAM,MAAM,MAAM,KAAK,QAAQ;AAAA,MAC3D,WAAW,MAAM,MAAM,KAAK,OAAO,KAAK,OAAO;AAAA,MAC9C,GAAG;AAAA;AAAA,EACR;AAER;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from "@internationalized/date";
|
|
2
|
-
export declare function getTimeValue
|
|
2
|
+
export declare function getTimeValue<T extends CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null | undefined = undefined>(time?: T): T extends null | undefined ? undefined : number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/getTimeValue.ts"],
|
|
4
|
-
"sourcesContent": ["import { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from \"@internationalized/date\"\nimport { isNonNullable } from \"deepsea-tools\"\n\nexport function getTimeValue
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA8B;AAEvB,SAAS,
|
|
4
|
+
"sourcesContent": ["import { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from \"@internationalized/date\"\nimport { isNonNullable } from \"deepsea-tools\"\n\nexport function getTimeValue<\n T extends CalendarDateTime | ZonedDateTime | Time | CalendarDate | CalendarDateTime | ZonedDateTime | null | undefined = undefined,\n>(time?: T): T extends null | undefined ? undefined : number {\n return (isNonNullable(time) ? new Date(time.toString()).valueOf() : undefined) as T extends null | undefined ? undefined : number\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA8B;AAEvB,SAAS,aAEd,MAA2D;AACzD,aAAQ,oCAAc,IAAI,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,QAAQ,IAAI;AACxE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,8 @@ 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
|
-
|
|
5
|
+
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>, "children"> {
|
|
7
|
+
valueMode?: ValueMode;
|
|
6
8
|
}
|
|
7
|
-
export declare function FormCalendar<FieldValue extends
|
|
9
|
+
export declare function FormCalendar<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormCalendarProps<ValueMode, FieldValue>): ReactNode;
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { Calendar } from "@heroui/react";
|
|
4
|
-
import { isNonNullable } from "deepsea-tools";
|
|
5
|
-
import { getTimeValue } from "../utils/getTimeValue";
|
|
6
|
-
import { parseTime } from "../utils/parseTime";
|
|
7
4
|
import { ErrorMessage } from "./ErrorMessage";
|
|
5
|
+
import { getFieldValue, getOnChange } from "./FormTimeInput";
|
|
8
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
7
|
export function FormCalendar({
|
|
10
8
|
field,
|
|
9
|
+
valueMode,
|
|
11
10
|
...rest
|
|
12
11
|
}) {
|
|
13
12
|
return /*#__PURE__*/_jsx(Calendar, {
|
|
14
|
-
value:
|
|
15
|
-
onChange:
|
|
13
|
+
value: getFieldValue(field),
|
|
14
|
+
onChange: getOnChange(field, valueMode),
|
|
16
15
|
onBlur: field.handleBlur,
|
|
17
16
|
errorMessage: /*#__PURE__*/_jsx(ErrorMessage, {
|
|
18
17
|
data: field.state.meta.errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Calendar","
|
|
1
|
+
{"version":3,"names":["Calendar","ErrorMessage","getFieldValue","getOnChange","jsx","_jsx","FormCalendar","field","valueMode","rest","value","onChange","onBlur","handleBlur","errorMessage","data","state","meta","errors","isInvalid","some","Boolean"],"sources":["../../../src/components/FormCalendar.tsx"],"sourcesContent":["\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { Calendar } from \"@heroui/react\"\nimport { FieldComponentProps } from \"soda-tanstack-form\"\nimport { StrictOmit } from \"soda-type\"\n\nimport { ErrorMessage } from \"./ErrorMessage\"\nimport { TimeValueMode, TimeValueModeMap, getFieldValue, getOnChange } from \"./FormTimeInput\"\n\nexport interface FormCalendarProps<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n> extends StrictOmit<FieldComponentProps<typeof Calendar, FieldValue>, \"children\"> {\n valueMode?: ValueMode\n}\n\nexport function FormCalendar<\n ValueMode extends TimeValueMode = \"date\",\n FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined,\n>({ field, valueMode, ...rest }: FormCalendarProps<ValueMode, FieldValue>): ReactNode {\n return (\n <Calendar\n value={getFieldValue(field)}\n onChange={getOnChange(field, valueMode)}\n onBlur={field.handleBlur}\n errorMessage={<ErrorMessage data={field.state.meta.errors} />}\n isInvalid={field.state.meta.errors.some(Boolean)}\n {...rest}\n />\n )\n}\n"],"mappings":"AAAA,YAAY;;AAGZ,SAASA,QAAQ,QAAQ,eAAe;AAIxC,SAASC,YAAY;AACrB,SAA0CC,aAAa,EAAEC,WAAW;AAAyB,SAAAC,GAAA,IAAAC,IAAA;AAS7F,OAAO,SAASC,YAAYA,CAG1B;EAAEC,KAAK;EAAEC,SAAS;EAAE,GAAGC;AAA+C,CAAC,EAAa;EAClF,oBACIJ,IAAA,CAACL,QAAQ;IACLU,KAAK,EAAER,aAAa,CAACK,KAAK,CAAE;IAC5BI,QAAQ,EAAER,WAAW,CAACI,KAAK,EAAEC,SAAS,CAAE;IACxCI,MAAM,EAAEL,KAAK,CAACM,UAAW;IACzBC,YAAY,eAAET,IAAA,CAACJ,YAAY;MAACc,IAAI,EAAER,KAAK,CAACS,KAAK,CAACC,IAAI,CAACC;IAAO,CAAE,CAAE;IAC9DC,SAAS,EAAEZ,KAAK,CAACS,KAAK,CAACC,IAAI,CAACC,MAAM,CAACE,IAAI,CAACC,OAAO,CAAE;IAAA,GAC7CZ;EAAI,CACX,CAAC;AAEV"}
|
|
@@ -2,6 +2,8 @@ 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
|
-
|
|
5
|
+
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>, "children"> {
|
|
7
|
+
valueMode?: ValueMode;
|
|
6
8
|
}
|
|
7
|
-
export declare function FormDateInput<FieldValue extends
|
|
9
|
+
export declare function FormDateInput<ValueMode extends TimeValueMode = "date", FieldValue extends TimeValueModeMap<ValueMode> | undefined = TimeValueModeMap<ValueMode> | undefined>({ field, valueMode, ...rest }: FormDateInputProps<ValueMode, FieldValue>): ReactNode;
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { DateInput } from "@heroui/react";
|
|
4
|
-
import { isNonNullable } from "deepsea-tools";
|
|
5
|
-
import { getTimeValue } from "../utils/getTimeValue";
|
|
6
|
-
import { parseTime } from "../utils/parseTime";
|
|
7
4
|
import { ErrorMessage } from "./ErrorMessage";
|
|
5
|
+
import { getFieldValue, getOnChange } from "./FormTimeInput";
|
|
8
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
7
|
export function FormDateInput({
|
|
10
8
|
field,
|
|
9
|
+
valueMode,
|
|
11
10
|
...rest
|
|
12
11
|
}) {
|
|
13
12
|
return /*#__PURE__*/_jsx(DateInput, {
|
|
14
|
-
value:
|
|
15
|
-
onChange:
|
|
13
|
+
value: getFieldValue(field),
|
|
14
|
+
onChange: getOnChange(field, valueMode),
|
|
16
15
|
onBlur: field.handleBlur,
|
|
17
16
|
errorMessage: /*#__PURE__*/_jsx(ErrorMessage, {
|
|
18
17
|
data: field.state.meta.errors
|