wcz-test 6.4.2 → 6.4.4
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/Approval-gLhUz6rw.d.ts +284 -0
- package/dist/FileMeta-CC014fnB.d.ts +18 -0
- package/dist/chunk-4FRZRIAO.js +29 -0
- package/dist/chunk-4FRZRIAO.js.map +1 -0
- package/dist/chunk-4UULRYGW.js +46 -0
- package/dist/chunk-4UULRYGW.js.map +1 -0
- package/dist/chunk-5WRI5ZAA.js +31 -0
- package/dist/chunk-5WRI5ZAA.js.map +1 -0
- package/dist/chunk-BZEEKZFG.js +206 -0
- package/dist/chunk-BZEEKZFG.js.map +1 -0
- package/dist/chunk-GBRG7C6R.js +61 -0
- package/dist/chunk-GBRG7C6R.js.map +1 -0
- package/dist/chunk-TME53DAF.js +20 -0
- package/dist/chunk-TME53DAF.js.map +1 -0
- package/dist/chunk-TVEJZEZT.js +883 -0
- package/dist/chunk-TVEJZEZT.js.map +1 -0
- package/dist/chunk-YHTLF4NN.js +27 -0
- package/dist/chunk-YHTLF4NN.js.map +1 -0
- package/dist/chunk-ZMWQQXZT.js +17 -0
- package/dist/chunk-ZMWQQXZT.js.map +1 -0
- package/dist/components.d.ts +89 -0
- package/dist/components.js +546 -0
- package/dist/components.js.map +1 -0
- package/dist/hooks.d.ts +129 -0
- package/dist/hooks.js +304 -0
- package/dist/hooks.js.map +1 -0
- package/dist/i18next-browser-languagedetector.d.ts +4 -0
- package/dist/i18next-browser-languagedetector.js +8 -0
- package/dist/i18next-browser-languagedetector.js.map +1 -0
- package/dist/i18next.d.ts +2 -0
- package/dist/i18next.js +9 -0
- package/dist/i18next.js.map +1 -0
- package/dist/index.d.ts +4 -3542
- package/dist/index.js +228 -2752
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +161 -0
- package/dist/models.js +249 -0
- package/dist/models.js.map +1 -0
- package/dist/queries.d.ts +1024 -0
- package/dist/queries.js +364 -0
- package/dist/queries.js.map +1 -0
- package/dist/react-i18next.d.ts +1 -0
- package/dist/react-i18next.js +3 -0
- package/dist/react-i18next.js.map +1 -0
- package/dist/utils-DLRiZ02r.d.ts +47 -0
- package/dist/utils.d.ts +2154 -0
- package/dist/utils.js +27 -0
- package/dist/utils.js.map +1 -0
- package/package.json +37 -5
package/dist/hooks.d.ts
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { ButtonProps, TextFieldProps, SliderProps, RadioGroupProps, SwitchProps, CheckboxProps, AutocompleteProps } from '@mui/material';
|
|
2
|
+
import { DateTimePickerProps, DatePickerProps } from '@mui/x-date-pickers-pro';
|
|
3
|
+
import { F as FormOmittedProps } from './utils-DLRiZ02r.js';
|
|
4
|
+
import { NumericFormatProps, InputAttributes } from 'react-number-format/types/types';
|
|
5
|
+
import * as _tanstack_react_form from '@tanstack/react-form';
|
|
6
|
+
import * as react from 'react';
|
|
7
|
+
import { ReactNode } from 'react';
|
|
8
|
+
import * as _tanstack_form_core from '@tanstack/form-core';
|
|
9
|
+
import 'axios';
|
|
10
|
+
|
|
11
|
+
type FormSubmitButtonProps = Omit<ButtonProps, "loading" | "disabled" | "onClick" | "type">;
|
|
12
|
+
|
|
13
|
+
interface FormDateTimePickerProps extends Omit<DateTimePickerProps, FormOmittedProps> {
|
|
14
|
+
textFieldProps?: TextFieldProps;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface FormDatePickerProps extends Omit<DatePickerProps, FormOmittedProps> {
|
|
18
|
+
textFieldProps?: TextFieldProps;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
interface FormSliderProps extends Omit<SliderProps, FormOmittedProps> {
|
|
22
|
+
label?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface Option {
|
|
26
|
+
label: string;
|
|
27
|
+
value: string | number;
|
|
28
|
+
}
|
|
29
|
+
interface FormRadioGroupProps extends Omit<RadioGroupProps, FormOmittedProps> {
|
|
30
|
+
label?: string;
|
|
31
|
+
options: Array<Option>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface FormSwitchProps extends Omit<SwitchProps, FormOmittedProps> {
|
|
35
|
+
label?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
interface FormCheckboxProps extends Omit<CheckboxProps, FormOmittedProps> {
|
|
39
|
+
label?: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
interface FormAutocompleteProps extends Omit<AutocompleteProps<any, boolean, boolean, boolean>, FormOmittedProps> {
|
|
43
|
+
textFieldProps?: Omit<TextFieldProps, FormOmittedProps>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface FormNumberFieldProps extends Omit<TextFieldProps, FormOmittedProps> {
|
|
47
|
+
defaultValue?: number | null;
|
|
48
|
+
options?: Omit<NumericFormatProps<InputAttributes>, "customInput" | "onValueChange" | keyof InputAttributes>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
interface FormTextFieldProps extends Omit<TextFieldProps, FormOmittedProps> {
|
|
52
|
+
type?: "color" | "email" | "password" | "search" | "tel" | "text" | "url";
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
declare const useFieldContext: <TData>() => _tanstack_form_core.FieldApi<any, string, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
|
|
56
|
+
declare const useFormContext: () => _tanstack_react_form.ReactFormExtendedApi<Record<string, never>, any, any, any, any, any, any, any, any, any, any, any>;
|
|
57
|
+
declare const useLayoutForm: <TFormData, TOnMount extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnChange extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TOnDynamic extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnDynamicAsync extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta>(props: _tanstack_form_core.FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => _tanstack_react_form.AppFieldExtendedReactFormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta, {
|
|
58
|
+
readonly TextField: react.FC<FormTextFieldProps>;
|
|
59
|
+
readonly NumberField: react.FC<FormNumberFieldProps>;
|
|
60
|
+
readonly Autocomplete: react.FC<FormAutocompleteProps>;
|
|
61
|
+
readonly Checkbox: react.FC<FormCheckboxProps>;
|
|
62
|
+
readonly Switch: react.FC<FormSwitchProps>;
|
|
63
|
+
readonly RadioGroup: react.FC<FormRadioGroupProps>;
|
|
64
|
+
readonly Slider: react.FC<FormSliderProps>;
|
|
65
|
+
readonly DatePicker: react.FC<FormDatePickerProps>;
|
|
66
|
+
readonly DateTimePicker: react.FC<FormDateTimePickerProps>;
|
|
67
|
+
}, {
|
|
68
|
+
readonly SubmitButton: react.FC<FormSubmitButtonProps>;
|
|
69
|
+
}>;
|
|
70
|
+
declare const withLayoutForm: <TFormData, TOnMount extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnChange extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TOnDynamic extends _tanstack_form_core.FormValidateOrFn<TFormData> | undefined, TOnDynamicAsync extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends _tanstack_form_core.FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta, TRenderProps extends object = {}>({ render, props, }: _tanstack_react_form.WithFormProps<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta, {
|
|
71
|
+
readonly TextField: react.FC<FormTextFieldProps>;
|
|
72
|
+
readonly NumberField: react.FC<FormNumberFieldProps>;
|
|
73
|
+
readonly Autocomplete: react.FC<FormAutocompleteProps>;
|
|
74
|
+
readonly Checkbox: react.FC<FormCheckboxProps>;
|
|
75
|
+
readonly Switch: react.FC<FormSwitchProps>;
|
|
76
|
+
readonly RadioGroup: react.FC<FormRadioGroupProps>;
|
|
77
|
+
readonly Slider: react.FC<FormSliderProps>;
|
|
78
|
+
readonly DatePicker: react.FC<FormDatePickerProps>;
|
|
79
|
+
readonly DateTimePicker: react.FC<FormDateTimePickerProps>;
|
|
80
|
+
}, {
|
|
81
|
+
readonly SubmitButton: react.FC<FormSubmitButtonProps>;
|
|
82
|
+
}, TRenderProps>) => (props: react.PropsWithChildren<NoInfer<[unknown] extends [TRenderProps] ? any : TRenderProps> & {
|
|
83
|
+
form: _tanstack_react_form.AppFieldExtendedReactFormApi<[unknown] extends [TFormData] ? any : TFormData, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnDynamic] ? [TOnDynamic] extends [TOnDynamic & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnDynamic : TOnDynamic, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnDynamicAsync] ? [TOnDynamicAsync] extends [TOnDynamicAsync & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnDynamicAsync : TOnDynamicAsync, [_tanstack_form_core.FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (_tanstack_form_core.FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta, {
|
|
84
|
+
readonly TextField: react.FC<FormTextFieldProps>;
|
|
85
|
+
readonly NumberField: react.FC<FormNumberFieldProps>;
|
|
86
|
+
readonly Autocomplete: react.FC<FormAutocompleteProps>;
|
|
87
|
+
readonly Checkbox: react.FC<FormCheckboxProps>;
|
|
88
|
+
readonly Switch: react.FC<FormSwitchProps>;
|
|
89
|
+
readonly RadioGroup: react.FC<FormRadioGroupProps>;
|
|
90
|
+
readonly Slider: react.FC<FormSliderProps>;
|
|
91
|
+
readonly DatePicker: react.FC<FormDatePickerProps>;
|
|
92
|
+
readonly DateTimePicker: react.FC<FormDateTimePickerProps>;
|
|
93
|
+
}, {
|
|
94
|
+
readonly SubmitButton: react.FC<FormSubmitButtonProps>;
|
|
95
|
+
}>;
|
|
96
|
+
}>) => react.ReactNode;
|
|
97
|
+
|
|
98
|
+
interface OpenDialogOptions<TResult> {
|
|
99
|
+
onClose?: (result: TResult) => Promise<void>;
|
|
100
|
+
}
|
|
101
|
+
interface AlertOptions {
|
|
102
|
+
title?: ReactNode;
|
|
103
|
+
}
|
|
104
|
+
interface ConfirmOptions {
|
|
105
|
+
title?: ReactNode;
|
|
106
|
+
cancelText?: ReactNode;
|
|
107
|
+
}
|
|
108
|
+
interface DialogProps<TPayload = undefined, TResult = void> {
|
|
109
|
+
payload: TPayload;
|
|
110
|
+
open: boolean;
|
|
111
|
+
onClose: (result: TResult) => Promise<void>;
|
|
112
|
+
}
|
|
113
|
+
type OpenAlertDialog = (message: ReactNode, options?: AlertOptions) => Promise<void>;
|
|
114
|
+
type OpenConfirmDialog = (message: ReactNode, options?: ConfirmOptions) => Promise<boolean>;
|
|
115
|
+
type DialogComponent<TPayload, TResult> = React.ComponentType<DialogProps<TPayload, TResult>>;
|
|
116
|
+
interface OpenDialog {
|
|
117
|
+
<TPayload extends undefined, TResult>(Component: DialogComponent<TPayload, TResult>, payload?: TPayload, options?: OpenDialogOptions<TResult>): Promise<TResult>;
|
|
118
|
+
<TPayload, TResult>(Component: DialogComponent<TPayload, TResult>, payload: TPayload, options?: OpenDialogOptions<TResult>): Promise<TResult>;
|
|
119
|
+
}
|
|
120
|
+
type CloseDialog = <TResult>(dialog: Promise<TResult>, result: TResult) => Promise<TResult>;
|
|
121
|
+
interface DialogHook {
|
|
122
|
+
alert: OpenAlertDialog;
|
|
123
|
+
confirm: OpenConfirmDialog;
|
|
124
|
+
open: OpenDialog;
|
|
125
|
+
close: CloseDialog;
|
|
126
|
+
}
|
|
127
|
+
declare function useDialogs(): DialogHook;
|
|
128
|
+
|
|
129
|
+
export { type DialogProps, useDialogs, useFieldContext, useFormContext, useLayoutForm, withLayoutForm };
|
package/dist/hooks.js
ADDED
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useDialogs
|
|
3
|
+
} from "./chunk-4UULRYGW.js";
|
|
4
|
+
import {
|
|
5
|
+
getFieldStatus
|
|
6
|
+
} from "./chunk-GBRG7C6R.js";
|
|
7
|
+
import "./chunk-YHTLF4NN.js";
|
|
8
|
+
import "./chunk-5WRI5ZAA.js";
|
|
9
|
+
|
|
10
|
+
// src/hooks/FormHooks.ts
|
|
11
|
+
import { createFormHook, createFormHookContexts } from "@tanstack/react-form";
|
|
12
|
+
|
|
13
|
+
// src/components/form/FormAutocomplete.tsx
|
|
14
|
+
import { Autocomplete, TextField } from "@mui/material";
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
var FormAutocomplete = ({ textFieldProps, ...autocompleteProps }) => {
|
|
17
|
+
const field = useFieldContext();
|
|
18
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
Autocomplete,
|
|
21
|
+
{
|
|
22
|
+
value: field.state.value,
|
|
23
|
+
onChange: (_, value) => !autocompleteProps.freeSolo && field.handleChange(value),
|
|
24
|
+
onInputChange: (_, value, reason) => reason !== "reset" && autocompleteProps.freeSolo && field.handleChange(value),
|
|
25
|
+
onBlur: field.handleBlur,
|
|
26
|
+
"aria-label": field.name,
|
|
27
|
+
...autocompleteProps,
|
|
28
|
+
renderInput: (parameters) => /* @__PURE__ */ jsx(
|
|
29
|
+
TextField,
|
|
30
|
+
{
|
|
31
|
+
...parameters,
|
|
32
|
+
name: field.name,
|
|
33
|
+
error: isTouched && hasError,
|
|
34
|
+
helperText: isTouched && helperText,
|
|
35
|
+
...textFieldProps
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// src/components/form/FormCheckbox.tsx
|
|
43
|
+
import { Checkbox, FormControl, FormControlLabel, FormHelperText } from "@mui/material";
|
|
44
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
45
|
+
var FormCheckbox = (props) => {
|
|
46
|
+
const field = useFieldContext();
|
|
47
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
48
|
+
return /* @__PURE__ */ jsxs(FormControl, { component: "fieldset", children: [
|
|
49
|
+
/* @__PURE__ */ jsx2(
|
|
50
|
+
FormControlLabel,
|
|
51
|
+
{
|
|
52
|
+
control: /* @__PURE__ */ jsx2(
|
|
53
|
+
Checkbox,
|
|
54
|
+
{
|
|
55
|
+
name: field.name,
|
|
56
|
+
checked: Boolean(field.state.value),
|
|
57
|
+
onChange: (event) => field.handleChange(event.target.checked),
|
|
58
|
+
onBlur: field.handleBlur,
|
|
59
|
+
"aria-label": field.name,
|
|
60
|
+
...props
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
label: props.label ?? ""
|
|
64
|
+
}
|
|
65
|
+
),
|
|
66
|
+
isTouched && hasError && /* @__PURE__ */ jsx2(FormHelperText, { error: hasError, children: helperText })
|
|
67
|
+
] });
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// src/components/form/FormDatePicker.tsx
|
|
71
|
+
import { DatePicker } from "@mui/x-date-pickers-pro";
|
|
72
|
+
import dayjs from "dayjs";
|
|
73
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
74
|
+
var FormDatePicker = (props) => {
|
|
75
|
+
const field = useFieldContext();
|
|
76
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
77
|
+
return /* @__PURE__ */ jsx3(
|
|
78
|
+
DatePicker,
|
|
79
|
+
{
|
|
80
|
+
name: field.name,
|
|
81
|
+
value: field.state.value ? dayjs(field.state.value) : null,
|
|
82
|
+
onChange: (value) => field.handleChange(value ? value.format() : null),
|
|
83
|
+
slotProps: {
|
|
84
|
+
textField: {
|
|
85
|
+
onBlur: field.handleBlur,
|
|
86
|
+
error: isTouched && hasError,
|
|
87
|
+
helperText: isTouched && helperText,
|
|
88
|
+
...props.textFieldProps
|
|
89
|
+
},
|
|
90
|
+
...props.slotProps
|
|
91
|
+
},
|
|
92
|
+
"aria-label": field.name,
|
|
93
|
+
...props
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
// src/components/form/FormDateTimePicker.tsx
|
|
99
|
+
import { DateTimePicker } from "@mui/x-date-pickers-pro";
|
|
100
|
+
import dayjs2 from "dayjs";
|
|
101
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
102
|
+
var FormDateTimePicker = (props) => {
|
|
103
|
+
const field = useFieldContext();
|
|
104
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
105
|
+
return /* @__PURE__ */ jsx4(
|
|
106
|
+
DateTimePicker,
|
|
107
|
+
{
|
|
108
|
+
name: field.name,
|
|
109
|
+
value: field.state.value ? dayjs2(field.state.value) : null,
|
|
110
|
+
onChange: (value) => field.handleChange(value ? value.format() : null),
|
|
111
|
+
slotProps: {
|
|
112
|
+
textField: {
|
|
113
|
+
onBlur: field.handleBlur,
|
|
114
|
+
error: isTouched && hasError,
|
|
115
|
+
helperText: isTouched && helperText,
|
|
116
|
+
...props.textFieldProps
|
|
117
|
+
},
|
|
118
|
+
...props.slotProps
|
|
119
|
+
},
|
|
120
|
+
"aria-label": field.name,
|
|
121
|
+
...props
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
// src/components/form/FormNumberField.tsx
|
|
127
|
+
import { TextField as TextField2 } from "@mui/material";
|
|
128
|
+
import { NumericFormat } from "react-number-format";
|
|
129
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
130
|
+
var FormNumberField = ({ options, ...props }) => {
|
|
131
|
+
const field = useFieldContext();
|
|
132
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
133
|
+
return /* @__PURE__ */ jsx5(
|
|
134
|
+
NumericFormat,
|
|
135
|
+
{
|
|
136
|
+
customInput: TextField2,
|
|
137
|
+
name: field.name,
|
|
138
|
+
value: field.state.value ?? "",
|
|
139
|
+
onValueChange: ({ floatValue }) => field.handleChange(floatValue),
|
|
140
|
+
onBlur: field.handleBlur,
|
|
141
|
+
error: isTouched && hasError,
|
|
142
|
+
helperText: isTouched && helperText,
|
|
143
|
+
"aria-label": field.name,
|
|
144
|
+
...props,
|
|
145
|
+
...options
|
|
146
|
+
}
|
|
147
|
+
);
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// src/components/form/FormRadioGroup.tsx
|
|
151
|
+
import { FormControl as FormControl2, FormControlLabel as FormControlLabel2, FormHelperText as FormHelperText2, FormLabel, Radio, RadioGroup } from "@mui/material";
|
|
152
|
+
import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
153
|
+
var FormRadioGroup = ({ label, options, ...props }) => {
|
|
154
|
+
const field = useFieldContext();
|
|
155
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
156
|
+
return /* @__PURE__ */ jsxs2(FormControl2, { component: "fieldset", children: [
|
|
157
|
+
label && /* @__PURE__ */ jsx6(FormLabel, { component: "legend", children: label }),
|
|
158
|
+
/* @__PURE__ */ jsx6(
|
|
159
|
+
RadioGroup,
|
|
160
|
+
{
|
|
161
|
+
name: field.name,
|
|
162
|
+
value: field.state.value ?? "",
|
|
163
|
+
onChange: (event) => field.handleChange(event.target.value),
|
|
164
|
+
onBlur: field.handleBlur,
|
|
165
|
+
"aria-label": field.name,
|
|
166
|
+
...props,
|
|
167
|
+
children: options.map((option) => /* @__PURE__ */ jsx6(
|
|
168
|
+
FormControlLabel2,
|
|
169
|
+
{
|
|
170
|
+
value: option.value,
|
|
171
|
+
control: /* @__PURE__ */ jsx6(Radio, {}),
|
|
172
|
+
label: option.label
|
|
173
|
+
},
|
|
174
|
+
option.value
|
|
175
|
+
))
|
|
176
|
+
}
|
|
177
|
+
),
|
|
178
|
+
isTouched && hasError && /* @__PURE__ */ jsx6(FormHelperText2, { error: hasError, children: helperText })
|
|
179
|
+
] });
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// src/components/form/FormSlider.tsx
|
|
183
|
+
import { FormControl as FormControl3, FormHelperText as FormHelperText3, FormLabel as FormLabel2, Slider } from "@mui/material";
|
|
184
|
+
import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
185
|
+
var FormSlider = ({ label, ...props }) => {
|
|
186
|
+
const field = useFieldContext();
|
|
187
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
188
|
+
return /* @__PURE__ */ jsxs3(FormControl3, { component: "fieldset", children: [
|
|
189
|
+
label && /* @__PURE__ */ jsx7(FormLabel2, { children: label }),
|
|
190
|
+
/* @__PURE__ */ jsx7(
|
|
191
|
+
Slider,
|
|
192
|
+
{
|
|
193
|
+
name: field.name,
|
|
194
|
+
value: field.state.value ?? 0,
|
|
195
|
+
onChange: (_, value) => field.handleChange(Array.isArray(value) ? value[0] : value),
|
|
196
|
+
onBlur: field.handleBlur,
|
|
197
|
+
"aria-label": field.name,
|
|
198
|
+
...props
|
|
199
|
+
}
|
|
200
|
+
),
|
|
201
|
+
isTouched && hasError && /* @__PURE__ */ jsx7(FormHelperText3, { error: hasError, children: helperText })
|
|
202
|
+
] });
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
// src/components/form/FormSubmitButton.tsx
|
|
206
|
+
import { Button } from "@mui/material";
|
|
207
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
208
|
+
var FormSubmitButton = (props) => {
|
|
209
|
+
const form = useFormContext();
|
|
210
|
+
const handleClick = (event) => {
|
|
211
|
+
event.preventDefault();
|
|
212
|
+
event.stopPropagation();
|
|
213
|
+
form.handleSubmit();
|
|
214
|
+
};
|
|
215
|
+
return /* @__PURE__ */ jsx8(form.Subscribe, { selector: (state) => [state.canSubmit, state.isSubmitting], children: ([canSubmit, isSubmitting]) => /* @__PURE__ */ jsx8(
|
|
216
|
+
Button,
|
|
217
|
+
{
|
|
218
|
+
loading: isSubmitting,
|
|
219
|
+
disabled: !canSubmit,
|
|
220
|
+
onClick: handleClick,
|
|
221
|
+
type: "submit",
|
|
222
|
+
"aria-label": "submit",
|
|
223
|
+
...props
|
|
224
|
+
}
|
|
225
|
+
) });
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
// src/components/form/FormSwitch.tsx
|
|
229
|
+
import { FormControl as FormControl4, FormControlLabel as FormControlLabel3, FormHelperText as FormHelperText4, Switch } from "@mui/material";
|
|
230
|
+
import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
231
|
+
var FormSwitch = (props) => {
|
|
232
|
+
const field = useFieldContext();
|
|
233
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
234
|
+
return /* @__PURE__ */ jsxs4(FormControl4, { component: "fieldset", children: [
|
|
235
|
+
/* @__PURE__ */ jsx9(
|
|
236
|
+
FormControlLabel3,
|
|
237
|
+
{
|
|
238
|
+
control: /* @__PURE__ */ jsx9(
|
|
239
|
+
Switch,
|
|
240
|
+
{
|
|
241
|
+
name: field.name,
|
|
242
|
+
checked: Boolean(field.state.value),
|
|
243
|
+
onChange: (event) => field.handleChange(event.target.checked),
|
|
244
|
+
onBlur: field.handleBlur,
|
|
245
|
+
"aria-label": field.name,
|
|
246
|
+
...props
|
|
247
|
+
}
|
|
248
|
+
),
|
|
249
|
+
label: props.label ?? ""
|
|
250
|
+
}
|
|
251
|
+
),
|
|
252
|
+
isTouched && hasError && /* @__PURE__ */ jsx9(FormHelperText4, { error: hasError, children: helperText })
|
|
253
|
+
] });
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
// src/components/form/FormTextField.tsx
|
|
257
|
+
import { TextField as TextField3 } from "@mui/material";
|
|
258
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
259
|
+
var FormTextField = (props) => {
|
|
260
|
+
const field = useFieldContext();
|
|
261
|
+
const { isTouched, hasError, helperText } = getFieldStatus(field);
|
|
262
|
+
return /* @__PURE__ */ jsx10(
|
|
263
|
+
TextField3,
|
|
264
|
+
{
|
|
265
|
+
name: field.name,
|
|
266
|
+
value: field.state.value ?? "",
|
|
267
|
+
onChange: (event) => field.handleChange(event.target.value),
|
|
268
|
+
onBlur: field.handleBlur,
|
|
269
|
+
error: isTouched && hasError,
|
|
270
|
+
helperText: isTouched && helperText,
|
|
271
|
+
"aria-label": field.name,
|
|
272
|
+
...props
|
|
273
|
+
}
|
|
274
|
+
);
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
// src/hooks/FormHooks.ts
|
|
278
|
+
var { fieldContext, useFieldContext, formContext, useFormContext } = createFormHookContexts();
|
|
279
|
+
var { useAppForm: useLayoutForm, withForm: withLayoutForm } = createFormHook({
|
|
280
|
+
fieldComponents: {
|
|
281
|
+
TextField: FormTextField,
|
|
282
|
+
NumberField: FormNumberField,
|
|
283
|
+
Autocomplete: FormAutocomplete,
|
|
284
|
+
Checkbox: FormCheckbox,
|
|
285
|
+
Switch: FormSwitch,
|
|
286
|
+
RadioGroup: FormRadioGroup,
|
|
287
|
+
Slider: FormSlider,
|
|
288
|
+
DatePicker: FormDatePicker,
|
|
289
|
+
DateTimePicker: FormDateTimePicker
|
|
290
|
+
},
|
|
291
|
+
formComponents: {
|
|
292
|
+
SubmitButton: FormSubmitButton
|
|
293
|
+
},
|
|
294
|
+
fieldContext,
|
|
295
|
+
formContext
|
|
296
|
+
});
|
|
297
|
+
export {
|
|
298
|
+
useDialogs,
|
|
299
|
+
useFieldContext,
|
|
300
|
+
useFormContext,
|
|
301
|
+
useLayoutForm,
|
|
302
|
+
withLayoutForm
|
|
303
|
+
};
|
|
304
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/FormHooks.ts","../src/components/form/FormAutocomplete.tsx","../src/components/form/FormCheckbox.tsx","../src/components/form/FormDatePicker.tsx","../src/components/form/FormDateTimePicker.tsx","../src/components/form/FormNumberField.tsx","../src/components/form/FormRadioGroup.tsx","../src/components/form/FormSlider.tsx","../src/components/form/FormSubmitButton.tsx","../src/components/form/FormSwitch.tsx","../src/components/form/FormTextField.tsx"],"sourcesContent":["import { createFormHook, createFormHookContexts } from \"@tanstack/react-form\";\r\nimport { FormAutocomplete as Autocomplete } from \"~/components/form/FormAutocomplete\";\r\nimport { FormCheckbox as Checkbox } from \"~/components/form/FormCheckbox\";\r\nimport { FormDatePicker as DatePicker } from \"~/components/form/FormDatePicker\";\r\nimport { FormDateTimePicker as DateTimePicker } from \"~/components/form/FormDateTimePicker\";\r\nimport { FormNumberField as NumberField } from \"~/components/form/FormNumberField\";\r\nimport { FormRadioGroup as RadioGroup } from \"~/components/form/FormRadioGroup\";\r\nimport { FormSlider as Slider } from \"~/components/form/FormSlider\";\r\nimport { FormSubmitButton as SubmitButton } from \"~/components/form/FormSubmitButton\";\r\nimport { FormSwitch as Switch } from \"~/components/form/FormSwitch\";\r\nimport { FormTextField as TextField } from \"~/components/form/FormTextField\";\r\n\r\nexport const { fieldContext, useFieldContext, formContext, useFormContext } = createFormHookContexts();\r\n\r\nexport const { useAppForm: useLayoutForm, withForm: withLayoutForm } =\r\n createFormHook({\r\n fieldComponents: {\r\n TextField,\r\n NumberField,\r\n Autocomplete,\r\n Checkbox,\r\n Switch,\r\n RadioGroup,\r\n Slider,\r\n DatePicker,\r\n DateTimePicker,\r\n },\r\n formComponents: {\r\n SubmitButton,\r\n },\r\n fieldContext,\r\n formContext,\r\n });\r\n","import { Autocomplete, TextField } from \"@mui/material\";\r\nimport type { AutocompleteProps, TextFieldProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormAutocompleteProps extends Omit<AutocompleteProps<any, boolean, boolean, boolean>, FormOmittedProps> {\r\n textFieldProps?: Omit<TextFieldProps, FormOmittedProps>;\r\n}\r\n\r\nexport const FormAutocomplete: FC<FormAutocompleteProps> = ({ textFieldProps, ...autocompleteProps }) => {\r\n const field = useFieldContext();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <Autocomplete\r\n value={field.state.value}\r\n onChange={(_, value) => !autocompleteProps.freeSolo && field.handleChange(value)}\r\n onInputChange={(_, value, reason) => reason !== \"reset\" && autocompleteProps.freeSolo && field.handleChange(value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...autocompleteProps}\r\n renderInput={(parameters) =>\r\n <TextField\r\n {...parameters}\r\n name={field.name}\r\n error={isTouched && hasError}\r\n helperText={isTouched && helperText}\r\n {...textFieldProps}\r\n />\r\n }\r\n />\r\n );\r\n};","import { Checkbox, FormControl, FormControlLabel, FormHelperText } from \"@mui/material\";\r\nimport type { CheckboxProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormCheckboxProps extends Omit<CheckboxProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormCheckbox: FC<FormCheckboxProps> = (props) => {\r\n const field = useFieldContext<boolean | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n name={field.name}\r\n checked={Boolean(field.state.value)}\r\n onChange={(event) => field.handleChange(event.target.checked)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n }\r\n label={props.label ?? \"\"}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};","import { DatePicker } from \"@mui/x-date-pickers-pro\";\r\nimport dayjs from \"dayjs\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DatePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDatePickerProps extends Omit<DatePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDatePicker: FC<FormDatePickerProps> = (props) => {\r\n const field = useFieldContext<string | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DatePicker\r\n name={field.name}\r\n value={field.state.value ? dayjs(field.state.value) : null}\r\n onChange={(value) => field.handleChange(value ? value.format() : null)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};","import { DateTimePicker } from \"@mui/x-date-pickers-pro\";\r\nimport dayjs from \"dayjs\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { DateTimePickerProps } from \"@mui/x-date-pickers-pro\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormDateTimePickerProps extends Omit<DateTimePickerProps, FormOmittedProps> {\r\n textFieldProps?: TextFieldProps;\r\n}\r\n\r\nexport const FormDateTimePicker: FC<FormDateTimePickerProps> = (props) => {\r\n const field = useFieldContext<string | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <DateTimePicker\r\n name={field.name}\r\n value={field.state.value ? dayjs(field.state.value) : null}\r\n onChange={(value) => field.handleChange(value ? value.format() : null)}\r\n slotProps={{\r\n textField: {\r\n onBlur: field.handleBlur,\r\n error: isTouched && hasError,\r\n helperText: isTouched && helperText,\r\n ...props.textFieldProps,\r\n },\r\n ...props.slotProps\r\n }}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};\r\n","import { TextField } from \"@mui/material\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport type { InputAttributes, NumericFormatProps } from \"react-number-format/types/types\";\r\nimport type { FC } from \"react\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormNumberFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\r\n\tdefaultValue?: number | null;\r\n\toptions?: Omit<NumericFormatProps<InputAttributes>, \"customInput\" | \"onValueChange\" | keyof InputAttributes>;\r\n}\r\n\r\nexport const FormNumberField: FC<FormNumberFieldProps> = ({ options, ...props }) => {\r\n\tconst field = useFieldContext<number | null | undefined>();\r\n\tconst { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n\treturn (\r\n\t\t<NumericFormat\r\n\t\t\tcustomInput={TextField}\r\n\t\t\tname={field.name}\r\n\t\t\tvalue={field.state.value ?? \"\"}\r\n\t\t\tonValueChange={({ floatValue }) => field.handleChange(floatValue)}\r\n\t\t\tonBlur={field.handleBlur}\r\n\t\t\terror={isTouched && hasError}\r\n\t\t\thelperText={isTouched && helperText}\r\n\t\t\taria-label={field.name}\r\n\t\t\t{...props}\r\n\t\t\t{...options}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { FormControl, FormControlLabel, FormHelperText, FormLabel, Radio, RadioGroup } from \"@mui/material\";\r\nimport type { RadioGroupProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\ninterface Option {\r\n label: string;\r\n value: string | number;\r\n}\r\n\r\nexport interface FormRadioGroupProps extends Omit<RadioGroupProps, FormOmittedProps> {\r\n label?: string;\r\n options: Array<Option>;\r\n}\r\n\r\nexport const FormRadioGroup: FC<FormRadioGroupProps> = ({ label, options, ...props }) => {\r\n const field = useFieldContext<string | number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n {label && <FormLabel component=\"legend\">{label}</FormLabel>}\r\n <RadioGroup\r\n name={field.name}\r\n value={field.state.value ?? \"\"}\r\n onChange={(event) => field.handleChange(event.target.value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n >\r\n {options.map((option) => (\r\n <FormControlLabel\r\n key={option.value}\r\n value={option.value}\r\n control={<Radio />}\r\n label={option.label}\r\n />\r\n ))}\r\n </RadioGroup>\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { FormControl, FormHelperText, FormLabel, Slider } from \"@mui/material\";\r\nimport type { SliderProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormSliderProps extends Omit<SliderProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormSlider: FC<FormSliderProps> = ({ label, ...props }) => {\r\n const field = useFieldContext<number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n {label && <FormLabel>{label}</FormLabel>}\r\n <Slider\r\n name={field.name}\r\n value={field.state.value ?? 0}\r\n onChange={(_, value) => field.handleChange(Array.isArray(value) ? value[0] : value)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { Button } from \"@mui/material\";\r\nimport type { ButtonProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport { useFormContext } from \"~/hooks/FormHooks\";\r\n\r\nexport type FormSubmitButtonProps = Omit<ButtonProps, \"loading\" | \"disabled\" | \"onClick\" | \"type\">;\r\n\r\nexport const FormSubmitButton: FC<FormSubmitButtonProps> = (props) => {\r\n const form = useFormContext();\r\n\r\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n form.handleSubmit();\r\n };\r\n\r\n return (\r\n <form.Subscribe selector={(state) => [state.canSubmit, state.isSubmitting]}>\r\n {([canSubmit, isSubmitting]) => (\r\n <Button\r\n loading={isSubmitting}\r\n disabled={!canSubmit}\r\n onClick={handleClick}\r\n type=\"submit\"\r\n aria-label=\"submit\"\r\n {...props}\r\n />\r\n )}\r\n </form.Subscribe>\r\n );\r\n};","import { FormControl, FormControlLabel, FormHelperText, Switch } from \"@mui/material\";\r\nimport type { SwitchProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormSwitchProps extends Omit<SwitchProps, FormOmittedProps> {\r\n label?: string;\r\n}\r\n\r\nexport const FormSwitch: FC<FormSwitchProps> = (props) => {\r\n const field = useFieldContext<boolean | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <FormControl component=\"fieldset\">\r\n <FormControlLabel\r\n control={\r\n <Switch\r\n name={field.name}\r\n checked={Boolean(field.state.value)}\r\n onChange={(event) => field.handleChange(event.target.checked)}\r\n onBlur={field.handleBlur}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n }\r\n label={props.label ?? \"\"}\r\n />\r\n {isTouched && hasError && <FormHelperText error={hasError}>{helperText}</FormHelperText>}\r\n </FormControl>\r\n );\r\n};\r\n","import { TextField } from \"@mui/material\";\r\nimport type { TextFieldProps } from \"@mui/material\";\r\nimport type { FC } from \"react\";\r\nimport type { FormOmittedProps } from \"~/lib/utils\";\r\nimport { useFieldContext } from \"~/hooks/FormHooks\";\r\nimport { getFieldStatus } from \"~/lib/utils\";\r\n\r\nexport interface FormTextFieldProps extends Omit<TextFieldProps, FormOmittedProps> {\r\n type?: \"color\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"url\"\r\n}\r\n\r\nexport const FormTextField: FC<FormTextFieldProps> = (props) => {\r\n const field = useFieldContext<string | number | null | undefined>();\r\n const { isTouched, hasError, helperText } = getFieldStatus(field);\r\n\r\n return (\r\n <TextField\r\n name={field.name}\r\n value={field.state.value ?? \"\"}\r\n onChange={event => field.handleChange(event.target.value)}\r\n onBlur={field.handleBlur}\r\n error={isTouched && hasError}\r\n helperText={isTouched && helperText}\r\n aria-label={field.name}\r\n {...props}\r\n />\r\n );\r\n};"],"mappings":"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","names":["jsx","jsx","dayjs","jsx","dayjs","TextField","jsx","TextField","FormControl","FormControlLabel","FormHelperText","jsx","jsxs","FormControl","FormControlLabel","FormHelperText","FormControl","FormHelperText","FormLabel","jsx","jsxs","FormControl","FormLabel","FormHelperText","jsx","FormControl","FormControlLabel","FormHelperText","jsx","jsxs","FormControl","FormControlLabel","FormHelperText","TextField","jsx","TextField"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/i18next-browser-languagedetector.ts"],"sourcesContent":["export { default } from \"i18next-browser-languagedetector\";\r\n"],"mappings":";;;AAAA,SAAS,WAAAA,gBAAe;","names":["default"]}
|
package/dist/i18next.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/i18next.ts"],"sourcesContent":["export * from \"i18next\";\r\nexport { default } from \"i18next\";\r\n"],"mappings":";;;AAAA,cAAc;AACd,SAAS,WAAAA,gBAAe;","names":["default"]}
|