Project Init

This commit is contained in:
Muluhabt
2026-05-29 15:23:46 +03:00
commit 2fbc557aac
67387 changed files with 6063341 additions and 0 deletions

21
node_modules/@mantine/form/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 Vitaly Rtishchev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

21
node_modules/@mantine/form/README.md generated vendored Normal file
View File

@@ -0,0 +1,21 @@
# Mantine Form
[![npm](https://img.shields.io/npm/dm/@mantine/form)](https://www.npmjs.com/package/@mantine/form)
Form management library
[View documentation](https://mantine.dev/)
## Installation
```bash
# With yarn
yarn add @mantine/form
# With npm
npm install @mantine/form
```
## License
MIT

25
node_modules/@mantine/form/cjs/Form/Form.cjs generated vendored Normal file
View File

@@ -0,0 +1,25 @@
'use client';
'use strict';
var jsxRuntime = require('react/jsx-runtime');
var react = require('react');
const Form = react.forwardRef(
({ form, onSubmit, onReset, ...others }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
"form",
{
...others,
onSubmit: form.onSubmit(typeof onSubmit === "function" ? onSubmit : () => {
}),
onReset: (event) => {
onReset?.(event);
form.onReset(event);
},
ref
}
)
);
Form.displayName = "@mantine/use-form/Form";
exports.Form = Form;
//# sourceMappingURL=Form.cjs.map

1
node_modules/@mantine/form/cjs/Form/Form.cjs.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Form.cjs","sources":["../../src/Form/Form.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { TransformedValues, UseFormReturnType } from '../types';\n\nexport interface FormProps<Form extends UseFormReturnType<any>>\n extends React.ComponentPropsWithRef<'form'> {\n form: Form;\n onSubmit?: (values: TransformedValues<Form>) => void;\n}\n\nexport type FormComponent = (<Form extends UseFormReturnType<any>>(\n props: FormProps<Form>\n) => React.JSX.Element | React.ReactNode) & { displayName?: string };\n\nexport const Form: FormComponent = forwardRef(\n <Form extends UseFormReturnType<any>>(\n { form, onSubmit, onReset, ...others }: FormProps<Form>,\n ref: React.ForwardedRef<HTMLFormElement>\n ) => (\n <form\n {...others}\n onSubmit={form.onSubmit(typeof onSubmit === 'function' ? onSubmit : () => {})}\n onReset={(event) => {\n onReset?.(event);\n form.onReset(event);\n }}\n ref={ref}\n />\n )\n);\n\nForm.displayName = '@mantine/use-form/Form';\n"],"names":["forwardRef","jsx"],"mappings":";;;;;;AAaO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,GAAsBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CACjC,CACE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAC9B,CAAA,CAAA,CAAA,qBAEAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC5E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,KAAK,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpB,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGN,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}

View File

@@ -0,0 +1,24 @@
'use client';
'use strict';
var jsxRuntime = require('react/jsx-runtime');
var react = require('react');
var useForm = require('../use-form.cjs');
function createFormContext() {
const FormContext = react.createContext(null);
function FormProvider({ form, children }) {
return /* @__PURE__ */ jsxRuntime.jsx(FormContext.Provider, { value: form, children });
}
function useFormContext() {
const ctx = react.useContext(FormContext);
if (!ctx) {
throw new Error("useFormContext was called outside of FormProvider context");
}
return ctx;
}
return [FormProvider, useFormContext, useForm.useForm];
}
exports.createFormContext = createFormContext;
//# sourceMappingURL=FormProvider.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"FormProvider.cjs","sources":["../../src/FormProvider/FormProvider.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { _TransformValues, UseForm, UseFormReturnType } from '../types';\nimport { useForm } from '../use-form';\n\nexport interface FormProviderProps<Form> {\n form: Form;\n children: React.ReactNode;\n}\n\nexport function createFormContext<\n Values,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>() {\n type Form = UseFormReturnType<Values, TransformValues>;\n\n const FormContext = createContext<Form | null>(null);\n\n function FormProvider({ form, children }: FormProviderProps<Form>) {\n return <FormContext.Provider value={form}>{children}</FormContext.Provider>;\n }\n\n function useFormContext() {\n const ctx = useContext(FormContext);\n if (!ctx) {\n throw new Error('useFormContext was called outside of FormProvider context');\n }\n\n return ctx;\n }\n\n return [FormProvider, useFormContext, useForm] as [\n React.FC<FormProviderProps<Form>>,\n () => Form,\n UseForm<Values, TransformValues>,\n ];\n}\n"],"names":["createContext","useContext","useForm"],"mappings":";;;;;;;AASO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,iBAAA,CAAA,CAAA,CAGZ,CAAA;AAGF,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAA2B,IAAI,CAAA,CAAA;AAEnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,YAAA,CAAa,CAAA,CAAE,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAA4B,CAAA;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAZ,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA;AAAA,CAAA,CACtD,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,cAAA,CAAA,CAAA,CAAiB,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAW,WAAW,CAAA,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,EAAM,2DAA2D,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAC7E,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgBC,eAAO,CAAA,CAAA;AAK/C,CAAA;;"}

130
node_modules/@mantine/form/cjs/actions/actions.cjs generated vendored Normal file
View File

@@ -0,0 +1,130 @@
'use client';
'use strict';
var react = require('react');
function dispatchEvent(type, detail) {
window.dispatchEvent(new CustomEvent(type, { detail }));
}
function validateFormName(name) {
if (!/^[0-9a-zA-Z-]+$/.test(name)) {
throw new Error(
`[@mantine/use-form] Form name "${name}" is invalid, it should contain only letters, numbers and dashes`
);
}
}
const useIsomorphicEffect = typeof window !== "undefined" ? react.useLayoutEffect : react.useEffect;
function createFormActions(name) {
validateFormName(name);
const setFieldValue = (path, value) => dispatchEvent(`mantine-form:${name}:set-field-value`, { path, value });
const setValues = (values) => dispatchEvent(`mantine-form:${name}:set-values`, values);
const setInitialValues = (values) => dispatchEvent(`mantine-form:${name}:set-initial-values`, values);
const setErrors = (errors) => dispatchEvent(`mantine-form:${name}:set-errors`, errors);
const setFieldError = (path, error) => dispatchEvent(`mantine-form:${name}:set-field-error`, { path, error });
const clearFieldError = (path) => dispatchEvent(`mantine-form:${name}:clear-field-error`, path);
const clearErrors = () => dispatchEvent(`mantine-form:${name}:clear-errors`);
const reset = () => dispatchEvent(`mantine-form:${name}:reset`);
const validate = () => dispatchEvent(`mantine-form:${name}:validate`);
const validateField = (path) => dispatchEvent(`mantine-form:${name}:validate-field`, path);
const reorderListItem = (path, payload) => dispatchEvent(`mantine-form:${name}:reorder-list-item`, { path, payload });
const removeListItem = (path, index) => dispatchEvent(`mantine-form:${name}:remove-list-item`, { path, index });
const insertListItem = (path, item, index) => dispatchEvent(`mantine-form:${name}:insert-list-item`, { path, index, item });
const setDirty = (value) => dispatchEvent(`mantine-form:${name}:set-dirty`, value);
const setTouched = (value) => dispatchEvent(`mantine-form:${name}:set-touched`, value);
const resetDirty = (values) => dispatchEvent(`mantine-form:${name}:reset-dirty`, values);
const resetTouched = () => dispatchEvent(`mantine-form:${name}:reset-touched`);
return {
setFieldValue,
setValues,
setInitialValues,
setErrors,
setFieldError,
clearFieldError,
clearErrors,
reset,
validate,
validateField,
reorderListItem,
removeListItem,
insertListItem,
setDirty,
setTouched,
resetDirty,
resetTouched
};
}
function useFormEvent(eventKey, handler) {
useIsomorphicEffect(() => {
if (eventKey) {
window.addEventListener(eventKey, handler);
return () => window.removeEventListener(eventKey, handler);
}
return void 0;
}, [eventKey]);
}
function useFormActions(name, form) {
if (name) {
validateFormName(name);
}
useFormEvent(
`mantine-form:${name}:set-field-value`,
(event) => form.setFieldValue(event.detail.path, event.detail.value)
);
useFormEvent(
`mantine-form:${name}:set-values`,
(event) => form.setValues(event.detail)
);
useFormEvent(
`mantine-form:${name}:set-initial-values`,
(event) => form.setInitialValues(event.detail)
);
useFormEvent(
`mantine-form:${name}:set-errors`,
(event) => form.setErrors(event.detail)
);
useFormEvent(
`mantine-form:${name}:set-field-error`,
(event) => form.setFieldError(event.detail.path, event.detail.error)
);
useFormEvent(
`mantine-form:${name}:clear-field-error`,
(event) => form.clearFieldError(event.detail)
);
useFormEvent(`mantine-form:${name}:clear-errors`, form.clearErrors);
useFormEvent(`mantine-form:${name}:reset`, form.reset);
useFormEvent(`mantine-form:${name}:validate`, form.validate);
useFormEvent(
`mantine-form:${name}:validate-field`,
(event) => form.validateField(event.detail)
);
useFormEvent(
`mantine-form:${name}:reorder-list-item`,
(event) => form.reorderListItem(event.detail.path, event.detail.payload)
);
useFormEvent(
`mantine-form:${name}:remove-list-item`,
(event) => form.removeListItem(event.detail.path, event.detail.index)
);
useFormEvent(
`mantine-form:${name}:insert-list-item`,
(event) => form.insertListItem(event.detail.path, event.detail.item, event.detail.index)
);
useFormEvent(
`mantine-form:${name}:set-dirty`,
(event) => form.setDirty(event.detail)
);
useFormEvent(
`mantine-form:${name}:set-touched`,
(event) => form.setTouched(event.detail)
);
useFormEvent(
`mantine-form:${name}:reset-dirty`,
(event) => form.resetDirty(event.detail)
);
useFormEvent(`mantine-form:${name}:reset-touched`, form.resetTouched);
}
exports.createFormActions = createFormActions;
exports.useFormActions = useFormActions;
exports.useIsomorphicEffect = useIsomorphicEffect;
//# sourceMappingURL=actions.cjs.map

File diff suppressed because one or more lines are too long

7
node_modules/@mantine/form/cjs/form-index.cjs generated vendored Normal file
View File

@@ -0,0 +1,7 @@
'use client';
'use strict';
const FORM_INDEX = "__MANTINE_FORM_INDEX__";
exports.FORM_INDEX = FORM_INDEX;
//# sourceMappingURL=form-index.cjs.map

1
node_modules/@mantine/form/cjs/form-index.cjs.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"form-index.cjs","sources":["../src/form-index.ts"],"sourcesContent":["export const FORM_INDEX = '__MANTINE_FORM_INDEX__';\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}

View File

@@ -0,0 +1,28 @@
'use client';
'use strict';
function getInputOnChange(setValue) {
return (val) => {
if (!val) {
setValue(val);
} else if (typeof val === "function") {
setValue(val);
} else if (typeof val === "object" && "nativeEvent" in val) {
const { currentTarget } = val;
if (currentTarget instanceof HTMLInputElement) {
if (currentTarget.type === "checkbox") {
setValue(currentTarget.checked);
} else {
setValue(currentTarget.value);
}
} else if (currentTarget instanceof HTMLTextAreaElement || currentTarget instanceof HTMLSelectElement) {
setValue(currentTarget.value);
}
} else {
setValue(val);
}
};
}
exports.getInputOnChange = getInputOnChange;
//# sourceMappingURL=get-input-on-change.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-input-on-change.cjs","sources":["../../src/get-input-on-change/get-input-on-change.ts"],"sourcesContent":["export function getInputOnChange<Value>(\n setValue: (value: Value | ((current: Value) => Value)) => void\n) {\n return (val: Value | React.ChangeEvent<unknown> | ((current: Value) => Value)) => {\n if (!val) {\n setValue(val as Value);\n } else if (typeof val === 'function') {\n setValue(val);\n } else if (typeof val === 'object' && 'nativeEvent' in val) {\n const { currentTarget } = val;\n if (currentTarget instanceof HTMLInputElement) {\n if (currentTarget.type === 'checkbox') {\n setValue(currentTarget.checked as any);\n } else {\n setValue(currentTarget.value as any);\n }\n } else if (\n currentTarget instanceof HTMLTextAreaElement ||\n currentTarget instanceof HTMLSelectElement\n ) {\n setValue(currentTarget.value as any);\n }\n } else {\n setValue(val);\n }\n };\n}\n"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,14 @@
'use client';
'use strict';
function getStatus(status, path) {
const paths = Object.keys(status);
if (typeof path === "string") {
const nestedPaths = paths.filter((statusPath) => statusPath.startsWith(`${path}.`));
return status[path] || nestedPaths.some((statusPath) => status[statusPath]) || false;
}
return paths.some((statusPath) => status[statusPath]);
}
exports.getStatus = getStatus;
//# sourceMappingURL=get-status.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-status.cjs","sources":["../../src/get-status/get-status.ts"],"sourcesContent":["import { FormStatus } from '../types';\n\nexport function getStatus(status: FormStatus, path?: unknown) {\n const paths = Object.keys(status);\n\n if (typeof path === 'string') {\n const nestedPaths = paths.filter((statusPath) => statusPath.startsWith(`${path}.`));\n return status[path] || nestedPaths.some((statusPath) => status[statusPath]) || false;\n }\n\n return paths.some((statusPath) => status[statusPath]);\n}\n"],"names":[],"mappings":";;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,GAAoB,IAAA,CAAA,CAAgB,CAAA;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,MAAM,CAAA,CAAA;AAEhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,MAAS,QAAA,CAAA,CAAU,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,WAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AAClF,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,WAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,UAAU,CAAC,CAAA,IAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACjF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA;AACtD,CAAA;;"}

View File

@@ -0,0 +1,18 @@
'use client';
'use strict';
function filterErrors(errors) {
if (errors === null || typeof errors !== "object") {
return {};
}
return Object.keys(errors).reduce((acc, key) => {
const errorValue = errors[key];
if (errorValue !== void 0 && errorValue !== null && errorValue !== false) {
acc[key] = errorValue;
}
return acc;
}, {});
}
exports.filterErrors = filterErrors;
//# sourceMappingURL=filter-errors.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"filter-errors.cjs","sources":["../../../../src/hooks/use-form-errors/filter-errors/filter-errors.ts"],"sourcesContent":["import type { FormErrors } from '../../../types';\n\nexport function filterErrors(errors: FormErrors): FormErrors {\n if (errors === null || typeof errors !== 'object') {\n return {};\n }\n\n return Object.keys(errors).reduce<FormErrors>((acc, key) => {\n const errorValue = errors[key];\n\n if (errorValue !== undefined && errorValue !== null && errorValue !== false) {\n acc[key] = errorValue;\n }\n\n return acc;\n }, {});\n}\n"],"names":[],"mappings":";;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAA;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,MAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AACjD,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAC,CAAA;AAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,GAAK,GAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA;AAC1D,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,GAAG,CAAA,CAAA;AAE7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAC3E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACb,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA;AACP,CAAA;;"}

View File

@@ -0,0 +1,51 @@
'use client';
'use strict';
var react = require('react');
var filterErrors = require('./filter-errors/filter-errors.cjs');
function useFormErrors(initialErrors) {
const [errorsState, setErrorsState] = react.useState(filterErrors.filterErrors(initialErrors));
const errorsRef = react.useRef(errorsState);
const setErrors = react.useCallback((errors) => {
setErrorsState((current) => {
const newErrors = filterErrors.filterErrors(typeof errors === "function" ? errors(current) : errors);
errorsRef.current = newErrors;
return newErrors;
});
}, []);
const clearErrors = react.useCallback(() => setErrors({}), []);
const clearFieldError = react.useCallback(
(path) => {
if (errorsRef.current[path] === void 0) {
return;
}
setErrors((current) => {
const errors = { ...current };
delete errors[path];
return errors;
});
},
[errorsState]
);
const setFieldError = react.useCallback(
(path, error) => {
if (error == null || error === false) {
clearFieldError(path);
} else if (errorsRef.current[path] !== error) {
setErrors((current) => ({ ...current, [path]: error }));
}
},
[errorsState]
);
return {
errorsState,
setErrors,
clearErrors,
setFieldError,
clearFieldError
};
}
exports.useFormErrors = useFormErrors;
//# sourceMappingURL=use-form-errors.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,53 @@
'use client';
'use strict';
var react = require('react');
var changeErrorIndices = require('../../lists/change-error-indices.cjs');
var reorderErrors = require('../../lists/reorder-errors.cjs');
require('klona/full');
var reorderPath = require('../../paths/reorder-path.cjs');
var insertPath = require('../../paths/insert-path.cjs');
var removePath = require('../../paths/remove-path.cjs');
var replacePath = require('../../paths/replace-path.cjs');
function useFormList({
$values,
$errors,
$status
}) {
const reorderListItem = react.useCallback((path, payload) => {
$status.clearFieldDirty(path);
$errors.setErrors((errs) => reorderErrors.reorderErrors(path, payload, errs));
$values.setValues({
values: reorderPath.reorderPath(path, payload, $values.refValues.current),
updateState: true
});
}, []);
const removeListItem = react.useCallback((path, index) => {
$status.clearFieldDirty(path);
$errors.setErrors((errs) => changeErrorIndices.changeErrorIndices(path, index, errs, -1));
$values.setValues({
values: removePath.removePath(path, index, $values.refValues.current),
updateState: true
});
}, []);
const insertListItem = react.useCallback((path, item, index) => {
$status.clearFieldDirty(path);
$errors.setErrors((errs) => changeErrorIndices.changeErrorIndices(path, index, errs, 1));
$values.setValues({
values: insertPath.insertPath(path, item, index, $values.refValues.current),
updateState: true
});
}, []);
const replaceListItem = react.useCallback((path, index, item) => {
$status.clearFieldDirty(path);
$values.setValues({
values: replacePath.replacePath(path, item, index, $values.refValues.current),
updateState: true
});
}, []);
return { reorderListItem, removeListItem, insertListItem, replaceListItem };
}
exports.useFormList = useFormList;
//# sourceMappingURL=use-form-list.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,130 @@
'use client';
'use strict';
var react = require('react');
var isEqual = require('fast-deep-equal');
var getStatus = require('../../get-status/get-status.cjs');
var clearListState = require('../../lists/clear-list-state.cjs');
var getPath = require('../../paths/get-path.cjs');
require('klona/full');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
function useFormStatus({
initialDirty,
initialTouched,
mode,
$values
}) {
const [touchedState, setTouchedState] = react.useState(initialTouched);
const [dirtyState, setDirtyState] = react.useState(initialDirty);
const touchedRef = react.useRef(initialTouched);
const dirtyRef = react.useRef(initialDirty);
const setTouched = react.useCallback((values) => {
const resolvedValues = typeof values === "function" ? values(touchedRef.current) : values;
touchedRef.current = resolvedValues;
if (mode === "controlled") {
setTouchedState(resolvedValues);
}
}, []);
const setDirty = react.useCallback(
(values, forceUpdate = false) => {
const resolvedValues = typeof values === "function" ? values(dirtyRef.current) : values;
dirtyRef.current = resolvedValues;
if (mode === "controlled" || forceUpdate) {
setDirtyState(resolvedValues);
}
},
[]
);
const resetTouched = react.useCallback(() => setTouched({}), []);
const resetDirty = react.useCallback((values) => {
const newSnapshot = values ? { ...$values.refValues.current, ...values } : $values.refValues.current;
$values.setValuesSnapshot(newSnapshot);
setDirty({});
}, []);
const setFieldTouched = react.useCallback((path, touched) => {
setTouched((currentTouched) => {
if (getStatus.getStatus(currentTouched, path) === touched) {
return currentTouched;
}
return { ...currentTouched, [path]: touched };
});
}, []);
const setFieldDirty = react.useCallback((path, dirty, forceUpdate) => {
setDirty((currentDirty) => {
if (getStatus.getStatus(currentDirty, path) === dirty) {
return currentDirty;
}
return { ...currentDirty, [path]: dirty };
}, forceUpdate);
}, []);
const setCalculatedFieldDirty = react.useCallback((path, value) => {
const currentDirty = getStatus.getStatus(dirtyRef.current, path);
const dirty = !isEqual__default.default(getPath.getPath(path, $values.getValuesSnapshot()), value);
const clearedState = clearListState.clearListState(path, dirtyRef.current);
clearedState[path] = dirty;
setDirty(clearedState, currentDirty !== dirty);
}, []);
const isTouched = react.useCallback(
(path) => getStatus.getStatus(touchedRef.current, path),
[]
);
const clearFieldDirty = react.useCallback(
(path) => setDirty((current) => {
if (typeof path !== "string") {
return current;
}
const result = clearListState.clearListState(path, current);
delete result[path];
if (isEqual__default.default(result, current)) {
return current;
}
return result;
}),
[]
);
const isDirty = react.useCallback((path) => {
if (path) {
const overriddenValue = getPath.getPath(path, dirtyRef.current);
if (typeof overriddenValue === "boolean") {
return overriddenValue;
}
const sliceOfValues = getPath.getPath(path, $values.refValues.current);
const sliceOfInitialValues = getPath.getPath(path, $values.valuesSnapshot.current);
return !isEqual__default.default(sliceOfValues, sliceOfInitialValues);
}
const isOverridden = Object.keys(dirtyRef.current).length > 0;
if (isOverridden) {
return getStatus.getStatus(dirtyRef.current);
}
return !isEqual__default.default($values.refValues.current, $values.valuesSnapshot.current);
}, []);
const getDirty = react.useCallback(() => dirtyRef.current, []);
const getTouched = react.useCallback(() => touchedRef.current, []);
return {
touchedState,
dirtyState,
touchedRef,
dirtyRef,
setTouched,
setDirty,
resetDirty,
resetTouched,
isTouched,
setFieldTouched,
setFieldDirty,
setTouchedState,
setDirtyState,
clearFieldDirty,
isDirty,
getDirty,
getTouched,
setCalculatedFieldDirty
};
}
exports.useFormStatus = useFormStatus;
//# sourceMappingURL=use-form-status.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,109 @@
'use client';
'use strict';
var react = require('react');
var getPath = require('../../paths/get-path.cjs');
var setPath = require('../../paths/set-path.cjs');
function useFormValues({
initialValues,
onValuesChange,
mode
}) {
const initialized = react.useRef(false);
const [stateValues, setStateValues] = react.useState(initialValues || {});
const refValues = react.useRef(stateValues);
const valuesSnapshot = react.useRef(stateValues);
const setValues = react.useCallback(
({
values,
subscribers,
updateState = true,
mergeWithPreviousValues = true
}) => {
const previousValues = refValues.current;
const resolvedValues = values instanceof Function ? values(refValues.current) : values;
const updatedValues = mergeWithPreviousValues ? { ...previousValues, ...resolvedValues } : resolvedValues;
refValues.current = updatedValues;
if (updateState) {
setStateValues(updatedValues);
if (mode === "uncontrolled") {
refValues.current = updatedValues;
}
}
onValuesChange?.(updatedValues, previousValues);
subscribers?.filter(Boolean).forEach((subscriber) => subscriber({ updatedValues, previousValues }));
},
[onValuesChange]
);
const setFieldValue = react.useCallback(
(payload) => {
const currentValue = getPath.getPath(payload.path, refValues.current);
const updatedValue = payload.value instanceof Function ? payload.value(currentValue) : payload.value;
if (currentValue !== updatedValue) {
const previousValues = refValues.current;
const updatedValues = setPath.setPath(payload.path, updatedValue, refValues.current);
setValues({ values: updatedValues, updateState: payload.updateState });
payload.subscribers?.filter(Boolean).forEach(
(subscriber) => subscriber({ path: payload.path, updatedValues, previousValues })
);
}
},
[setValues]
);
const setValuesSnapshot = react.useCallback((payload) => {
valuesSnapshot.current = payload;
}, []);
const initialize = react.useCallback(
(values, onInitialize) => {
if (!initialized.current) {
initialized.current = true;
setValues({ values, updateState: mode === "controlled" });
setValuesSnapshot(values);
onInitialize();
}
},
[setValues]
);
const resetValues = react.useCallback(() => {
setValues({
values: valuesSnapshot.current,
updateState: true,
mergeWithPreviousValues: false
});
}, [setValues]);
const getValues = react.useCallback(() => refValues.current, []);
const getValuesSnapshot = react.useCallback(() => valuesSnapshot.current, []);
const resetField = react.useCallback(
(path, subscribers) => {
const snapshotValue = getPath.getPath(path, valuesSnapshot.current);
if (typeof snapshotValue === "undefined") {
return;
}
setFieldValue({
path,
value: snapshotValue,
updateState: mode === "controlled",
subscribers
});
},
[setFieldValue, mode]
);
return {
initialized,
stateValues,
refValues,
valuesSnapshot,
setValues,
setFieldValue,
resetValues,
setValuesSnapshot,
initialize,
getValues,
getValuesSnapshot,
resetField
};
}
exports.useFormValues = useFormValues;
//# sourceMappingURL=use-form-values.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,59 @@
'use client';
'use strict';
var react = require('react');
var getPath = require('../../paths/get-path.cjs');
require('klona/full');
function useFormWatch({
$status,
cascadeUpdates
}) {
const subscribers = react.useRef(
{}
);
const watch = react.useCallback((path, callback) => {
react.useEffect(() => {
subscribers.current[path] = subscribers.current[path] || [];
subscribers.current[path].push(callback);
return () => {
subscribers.current[path] = subscribers.current[path].filter((cb) => cb !== callback);
};
}, [callback]);
}, []);
const getFieldSubscribers = react.useCallback((path) => {
const result = subscribers.current[path]?.map(
(callback) => (input) => callback({
previousValue: getPath.getPath(path, input.previousValues),
value: getPath.getPath(path, input.updatedValues),
touched: $status.isTouched(path),
dirty: $status.isDirty(path)
})
) ?? [];
if (cascadeUpdates) {
for (const subscriptionKey in subscribers.current) {
if (subscriptionKey.startsWith(`${path}.`) || path.startsWith(`${subscriptionKey}.`)) {
result.push(
...subscribers.current[subscriptionKey].map(
(cb) => (input) => cb({
previousValue: getPath.getPath(subscriptionKey, input.previousValues),
value: getPath.getPath(subscriptionKey, input.updatedValues),
touched: $status.isTouched(subscriptionKey),
dirty: $status.isDirty(subscriptionKey)
})
)
);
}
}
}
return result;
}, []);
return {
subscribers,
watch,
getFieldSubscribers
};
}
exports.useFormWatch = useFormWatch;
//# sourceMappingURL=use-form-watch.cjs.map

File diff suppressed because one or more lines are too long

44
node_modules/@mantine/form/cjs/index.cjs generated vendored Normal file
View File

@@ -0,0 +1,44 @@
'use strict';
var useForm = require('./use-form.cjs');
var FormProvider = require('./FormProvider/FormProvider.cjs');
var actions = require('./actions/actions.cjs');
var Form = require('./Form/Form.cjs');
var formIndex = require('./form-index.cjs');
var isNotEmpty = require('./validators/is-not-empty/is-not-empty.cjs');
var matches = require('./validators/matches/matches.cjs');
var isEmail = require('./validators/is-email/is-email.cjs');
var hasLength = require('./validators/has-length/has-length.cjs');
var isInRange = require('./validators/is-in-range/is-in-range.cjs');
var matchesField = require('./validators/matches-field/matches-field.cjs');
var isNotEmptyHtml = require('./validators/is-not-empty-html/is-not-empty-html.cjs');
var isJsonString = require('./validators/is-json-string/is-json-string.cjs');
var useField = require('./use-field.cjs');
var validateValues = require('./validate/validate-values.cjs');
var zodResolver = require('./resolvers/zod-resolver/zod-resolver.cjs');
var superstructResolver = require('./resolvers/superstruct-resolver/superstruct-resolver.cjs');
var yupResolver = require('./resolvers/yup-resolver/yup-resolver.cjs');
var joiResolver = require('./resolvers/joi-resolver/joi-resolver.cjs');
exports.useForm = useForm.useForm;
exports.createFormContext = FormProvider.createFormContext;
exports.createFormActions = actions.createFormActions;
exports.Form = Form.Form;
exports.FORM_INDEX = formIndex.FORM_INDEX;
exports.isNotEmpty = isNotEmpty.isNotEmpty;
exports.matches = matches.matches;
exports.isEmail = isEmail.isEmail;
exports.hasLength = hasLength.hasLength;
exports.isInRange = isInRange.isInRange;
exports.matchesField = matchesField.matchesField;
exports.isNotEmptyHTML = isNotEmptyHtml.isNotEmptyHTML;
exports.isJSONString = isJsonString.isJSONString;
exports.useField = useField.useField;
exports.formRootRule = validateValues.formRootRule;
exports.zodResolver = zodResolver.zodResolver;
exports.superstructResolver = superstructResolver.superstructResolver;
exports.yupResolver = yupResolver.yupResolver;
exports.joiResolver = joiResolver.joiResolver;
//# sourceMappingURL=index.cjs.map

1
node_modules/@mantine/form/cjs/index.cjs.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}

View File

@@ -0,0 +1,46 @@
'use client';
'use strict';
var clearListState = require('./clear-list-state.cjs');
function getIndexFromKeyAfterPath(key, path) {
const split = key.substring(path.length + 1).split(".")[0];
return parseInt(split, 10);
}
function changeErrorIndices(path, index, errors, change) {
if (index === void 0) {
return errors;
}
const pathString = `${String(path)}`;
let clearedErrors = errors;
if (change === -1) {
clearedErrors = clearListState.clearListState(`${pathString}.${index}`, clearedErrors);
}
const cloned = { ...clearedErrors };
const changedKeys = /* @__PURE__ */ new Set();
Object.entries(clearedErrors).filter(([key]) => {
if (!key.startsWith(`${pathString}.`)) {
return false;
}
const currIndex = getIndexFromKeyAfterPath(key, pathString);
if (Number.isNaN(currIndex)) {
return false;
}
return currIndex >= index;
}).forEach(([key, value]) => {
const currIndex = getIndexFromKeyAfterPath(key, pathString);
const newKey = key.replace(
`${pathString}.${currIndex}`,
`${pathString}.${currIndex + change}`
);
cloned[newKey] = value;
changedKeys.add(newKey);
if (!changedKeys.has(key)) {
delete cloned[key];
}
});
return cloned;
}
exports.changeErrorIndices = changeErrorIndices;
//# sourceMappingURL=change-error-indices.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,18 @@
'use client';
'use strict';
function clearListState(field, state) {
if (state === null || typeof state !== "object") {
return {};
}
const clone = { ...state };
Object.keys(state).forEach((errorKey) => {
if (errorKey.includes(`${String(field)}.`)) {
delete clone[errorKey];
}
});
return clone;
}
exports.clearListState = clearListState;
//# sourceMappingURL=clear-list-state.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"clear-list-state.cjs","sources":["../../src/lists/clear-list-state.ts"],"sourcesContent":["export function clearListState<T extends Record<PropertyKey, any>>(\n field: PropertyKey,\n state: T\n): T {\n if (state === null || typeof state !== 'object') {\n return {} as T;\n }\n\n const clone = { ...state };\n Object.keys(state).forEach((errorKey) => {\n if (errorKey.includes(`${String(field)}.`)) {\n delete clone[errorKey];\n }\n });\n\n return clone;\n}\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACd,CAAA,CAAA,CAAA,CAAA,GACA,KAAA,CAAA,CACG,CAAA;AACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,KAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAC,CAAA;AAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAG,KAAA,CAAA,CAAM,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,KAAK,CAAC,GAAG,CAAA,CAAA,CAAG,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACvB,CAAA;AAAA,CAAA,CACF,CAAC,CAAA,CAAA;AAED,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}

View File

@@ -0,0 +1,35 @@
'use client';
'use strict';
function reorderErrors(path, { from, to }, errors) {
const oldKeyStart = `${path}.${from}`;
const newKeyStart = `${path}.${to}`;
const clone = { ...errors };
const processedKeys = /* @__PURE__ */ new Set();
Object.keys(errors).forEach((key) => {
if (processedKeys.has(key)) {
return;
}
let oldKey;
let newKey;
if (key.startsWith(oldKeyStart)) {
oldKey = key;
newKey = key.replace(oldKeyStart, newKeyStart);
} else if (key.startsWith(newKeyStart)) {
oldKey = key.replace(newKeyStart, oldKeyStart);
newKey = key;
}
if (oldKey && newKey) {
const value1 = clone[oldKey];
const value2 = clone[newKey];
value2 === void 0 ? delete clone[oldKey] : clone[oldKey] = value2;
value1 === void 0 ? delete clone[newKey] : clone[newKey] = value1;
processedKeys.add(oldKey);
processedKeys.add(newKey);
}
});
return clone;
}
exports.reorderErrors = reorderErrors;
//# sourceMappingURL=reorder-errors.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,9 @@
'use client';
'use strict';
function getDataPath(formName, fieldPath) {
return formName ? `${formName}-${fieldPath.toString()}` : fieldPath.toString();
}
exports.getDataPath = getDataPath;
//# sourceMappingURL=get-data-path.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-data-path.cjs","sources":["../../src/paths/get-data-path.ts"],"sourcesContent":["export function getDataPath(formName: string | undefined, fieldPath: PropertyKey) {\n return formName ? `${formName}-${fieldPath.toString()}` : fieldPath.toString();\n}\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAA8B,SAAA,CAAA,CAAwB,CAAA;AAChF,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,UAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,QAAA,CAAA,CAAS,CAAA;AAC/E,CAAA;;"}

22
node_modules/@mantine/form/cjs/paths/get-path.cjs generated vendored Normal file
View File

@@ -0,0 +1,22 @@
'use client';
'use strict';
var getSplittedPath = require('./get-splitted-path.cjs');
function getPath(path, values) {
const splittedPath = getSplittedPath.getSplittedPath(path);
if (splittedPath.length === 0 || typeof values !== "object" || values === null) {
return void 0;
}
let value = values[splittedPath[0]];
for (let i = 1; i < splittedPath.length; i += 1) {
if (value == null) {
break;
}
value = value[splittedPath[i]];
}
return value;
}
exports.getPath = getPath;
//# sourceMappingURL=get-path.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-path.cjs","sources":["../../src/paths/get-path.ts"],"sourcesContent":["import { getSplittedPath } from './get-splitted-path';\n\nexport function getPath(path: unknown, values: unknown): unknown {\n const splittedPath = getSplittedPath(path);\n\n if (splittedPath.length === 0 || typeof values !== 'object' || values === null) {\n return undefined;\n }\n\n let value = values[splittedPath[0] as keyof typeof values];\n for (let i = 1; i < splittedPath.length; i += 1) {\n if (value == null) {\n break;\n }\n\n value = value[splittedPath[i]];\n }\n\n return value;\n}\n"],"names":["getSplittedPath"],"mappings":";;;;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,GAAe,MAAA,CAAA,CAA0B,CAAA;AAC/D,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAeA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAgB,IAAI,CAAA,CAAA;AAEzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAW,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,MAAW,IAAA,CAAA,CAAM,CAAA;AAC9E,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,KAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAwB,CAAA,CAAA;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,IAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAA,CAAA,CAAG,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,KAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAa,CAAC,CAAC,CAAA,CAAA;AAAA,CAAA,CAC/B,CAAA;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}

View File

@@ -0,0 +1,12 @@
'use client';
'use strict';
function getSplittedPath(path) {
if (typeof path !== "string") {
return [];
}
return path.split(".");
}
exports.getSplittedPath = getSplittedPath;
//# sourceMappingURL=get-splitted-path.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-splitted-path.cjs","sources":["../../src/paths/get-splitted-path.ts"],"sourcesContent":["export function getSplittedPath(path: unknown) {\n if (typeof path !== 'string') {\n return [];\n }\n\n return path.split('.');\n}\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA;AAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,MAAS,QAAA,CAAA,CAAU,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAC,CAAA;AAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,EAAM,GAAG,CAAA,CAAA;AACvB,CAAA;;"}

18
node_modules/@mantine/form/cjs/paths/insert-path.cjs generated vendored Normal file
View File

@@ -0,0 +1,18 @@
'use client';
'use strict';
var getPath = require('./get-path.cjs');
var setPath = require('./set-path.cjs');
function insertPath(path, value, index, values) {
const currentValue = getPath.getPath(path, values);
if (!Array.isArray(currentValue)) {
return values;
}
const cloned = [...currentValue];
cloned.splice(typeof index === "number" ? index : cloned.length, 0, value);
return setPath.setPath(path, cloned, values);
}
exports.insertPath = insertPath;
//# sourceMappingURL=insert-path.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"insert-path.cjs","sources":["../../src/paths/insert-path.ts"],"sourcesContent":["import { getPath } from './get-path';\nimport { setPath } from './set-path';\n\nexport function insertPath<T>(path: unknown, value: unknown, index: number | undefined, values: T) {\n const currentValue = getPath(path, values);\n\n if (!Array.isArray(currentValue)) {\n return values;\n }\n\n const cloned = [...currentValue];\n cloned.splice(typeof index === 'number' ? index : cloned.length, 0, value);\n\n return setPath(path, cloned, values);\n}\n"],"names":["getPath","setPath"],"mappings":";;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,KAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA;AACjG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAA,CAAA,CAAeA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA;AAEzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAG,YAAY,CAAA,CAAA;AAC/B,CAAA,CAAA,MAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,KAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,IAAQ,MAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,GAAG,KAAK,CAAA,CAAA;AAEzE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,eAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,MAAM,CAAA,CAAA;AACrC,CAAA;;"}

20
node_modules/@mantine/form/cjs/paths/remove-path.cjs generated vendored Normal file
View File

@@ -0,0 +1,20 @@
'use client';
'use strict';
var getPath = require('./get-path.cjs');
var setPath = require('./set-path.cjs');
function removePath(path, index, values) {
const currentValue = getPath.getPath(path, values);
if (!Array.isArray(currentValue)) {
return values;
}
return setPath.setPath(
path,
currentValue.filter((_, itemIndex) => itemIndex !== index),
values
);
}
exports.removePath = removePath;
//# sourceMappingURL=remove-path.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"remove-path.cjs","sources":["../../src/paths/remove-path.ts"],"sourcesContent":["import { getPath } from './get-path';\nimport { setPath } from './set-path';\n\nexport function removePath<T>(path: unknown, index: number, values: T) {\n const currentValue = getPath(path, values);\n\n if (!Array.isArray(currentValue)) {\n return values;\n }\n\n return setPath(\n path,\n currentValue.filter((_, itemIndex) => itemIndex !== index),\n values\n );\n}\n"],"names":["getPath","setPath"],"mappings":";;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,UAAA,CAAc,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,MAAA,CAAA,CAAW,CAAA;AACrE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAA,CAAA,CAAeA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA;AAEzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,OAAOC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACL,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACF,CAAA;AACF,CAAA;;"}

20
node_modules/@mantine/form/cjs/paths/reorder-path.cjs generated vendored Normal file
View File

@@ -0,0 +1,20 @@
'use client';
'use strict';
var getPath = require('./get-path.cjs');
var setPath = require('./set-path.cjs');
function reorderPath(path, { from, to }, values) {
const currentValue = getPath.getPath(path, values);
if (!Array.isArray(currentValue)) {
return values;
}
const cloned = [...currentValue];
const item = currentValue[from];
cloned.splice(from, 1);
cloned.splice(to, 0, item);
return setPath.setPath(path, cloned, values);
}
exports.reorderPath = reorderPath;
//# sourceMappingURL=reorder-path.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"reorder-path.cjs","sources":["../../src/paths/reorder-path.ts"],"sourcesContent":["import { ReorderPayload } from '../types';\nimport { getPath } from './get-path';\nimport { setPath } from './set-path';\n\nexport function reorderPath<T>(path: unknown, { from, to }: ReorderPayload, values: T) {\n const currentValue = getPath(path, values);\n\n if (!Array.isArray(currentValue)) {\n return values;\n }\n\n const cloned = [...currentValue];\n const item = currentValue[from];\n cloned.splice(from, 1);\n cloned.splice(to, 0, item);\n\n return setPath(path, cloned, values);\n}\n"],"names":["getPath","setPath"],"mappings":";;;;;;AAIO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,GAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA;AACrF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAA,CAAA,CAAeA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA;AAEzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAG,YAAY,CAAA,CAAA;AAC/B,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,IAAI,CAAA,CAAA;AAC9B,CAAA,CAAA,MAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,GAAM,CAAC,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA;AAEzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,eAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,MAAM,CAAA,CAAA;AACrC,CAAA;;"}

21
node_modules/@mantine/form/cjs/paths/replace-path.cjs generated vendored Normal file
View File

@@ -0,0 +1,21 @@
'use client';
'use strict';
var getPath = require('./get-path.cjs');
var setPath = require('./set-path.cjs');
function replacePath(path, item, index, values) {
const currentValue = getPath.getPath(path, values);
if (!Array.isArray(currentValue)) {
return values;
}
if (currentValue.length <= index) {
return values;
}
const cloned = [...currentValue];
cloned[index] = item;
return setPath.setPath(path, cloned, values);
}
exports.replacePath = replacePath;
//# sourceMappingURL=replace-path.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"replace-path.cjs","sources":["../../src/paths/replace-path.ts"],"sourcesContent":["import { getPath } from './get-path';\nimport { setPath } from './set-path';\n\nexport function replacePath<T>(path: unknown, item: unknown, index: number, values: T) {\n const currentValue = getPath(path, values);\n\n if (!Array.isArray(currentValue)) {\n return values;\n }\n\n if (currentValue.length <= index) {\n return values;\n }\n\n const cloned = [...currentValue];\n cloned[index] = item;\n\n return setPath(path, cloned, values);\n}\n"],"names":["getPath","setPath"],"mappings":";;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,IAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA;AACrF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAA,CAAA,CAAeA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAA,CAAA;AAEzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAG,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,KAAU,KAAA,CAAA,CAAO,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAG,YAAY,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;AAEhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,eAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,MAAM,CAAA,CAAA;AACrC,CAAA;;"}

29
node_modules/@mantine/form/cjs/paths/set-path.cjs generated vendored Normal file
View File

@@ -0,0 +1,29 @@
'use client';
'use strict';
var full = require('klona/full');
var getSplittedPath = require('./get-splitted-path.cjs');
function setPath(path, value, values) {
const splittedPath = getSplittedPath.getSplittedPath(path);
if (splittedPath.length === 0) {
return values;
}
const cloned = full.klona(values);
if (splittedPath.length === 1) {
cloned[splittedPath[0]] = value;
return cloned;
}
let val = cloned[splittedPath[0]];
for (let i = 1; i < splittedPath.length - 1; i += 1) {
if (val === void 0) {
return cloned;
}
val = val[splittedPath[i]];
}
val[splittedPath[splittedPath.length - 1]] = value;
return cloned;
}
exports.setPath = setPath;
//# sourceMappingURL=set-path.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"set-path.cjs","sources":["../../src/paths/set-path.ts"],"sourcesContent":["import { klona } from 'klona/full';\nimport { getSplittedPath } from './get-splitted-path';\n\nexport function setPath<T>(path: unknown, value: unknown, values: T): T {\n const splittedPath = getSplittedPath(path);\n\n if (splittedPath.length === 0) {\n return values;\n }\n\n const cloned: any = klona(values);\n\n if (splittedPath.length === 1) {\n cloned[splittedPath[0]] = value;\n return cloned;\n }\n\n let val = cloned[splittedPath[0]];\n\n for (let i = 1; i < splittedPath.length - 1; i += 1) {\n if (val === undefined) {\n return cloned;\n }\n\n val = val[splittedPath[i]];\n }\n\n val[splittedPath[splittedPath.length - 1]] = value;\n\n return cloned;\n}\n"],"names":["getSplittedPath","klona"],"mappings":";;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAA,CAAW,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,MAAA,CAAA,CAAc,CAAA;AACtE,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAeA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAgB,IAAI,CAAA,CAAA;AAEzC,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,MAAW,CAAA,CAAA,CAAG,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAM,MAAM,CAAA,CAAA;AAEhC,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,MAAW,CAAA,CAAA,CAAG,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAC,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,GAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAC,CAAA,CAAA;AAEhC,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAS,IAAI,CAAA,EAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,MAAA,CAAA,CAAA,CAAS,CAAA,EAAG,KAAK,CAAA,CAAA,CAAG,CAAA;AACnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,MAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAA,CAAI,YAAA,CAAa,CAAC,CAAC,CAAA,CAAA;AAAA,CAAA,CAC3B,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE7C,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}

View File

@@ -0,0 +1,20 @@
'use client';
'use strict';
function joiResolver(schema, options) {
const _schema = schema;
return (values) => {
const parsed = _schema.validate(values, { abortEarly: false, ...options });
if (!parsed.error) {
return {};
}
const results = {};
parsed.error.details.forEach((error) => {
results[error.path.join(".")] = error.message;
});
return results;
};
}
exports.joiResolver = joiResolver;
//# sourceMappingURL=joi-resolver.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"joi-resolver.cjs","sources":["../../../src/resolvers/joi-resolver/joi-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ninterface JoiError {\n path: (string | number)[];\n message: string;\n}\n\ninterface JoiResults {\n success: boolean;\n error: {\n details: JoiError[];\n };\n}\n\ninterface JoiSchema {\n validate: (values: Record<string, any>, options: { abortEarly: boolean }) => JoiResults;\n}\n\n/** @deprecated Use https://github.com/mantinedev/mantine-form-joi-resolver */\nexport function joiResolver(schema: any, options?: any) {\n const _schema: JoiSchema = schema;\n return (values: Record<string, any>): FormErrors => {\n const parsed = _schema.validate(values, { abortEarly: false, ...options });\n\n if (!parsed.error) {\n return {};\n }\n\n const results: Record<string, any> = {};\n parsed.error.details.forEach((error) => {\n results[error.path.join('.')] = error.message;\n });\n\n return results;\n };\n}\n"],"names":[],"mappings":";;;AAmBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,GAAa,OAAA,CAAA,CAAe,CAAA;AACtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,QAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,UAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA;AAEzE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,KAAA,CAAA,CAAO,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAC,CAAA;AAAA,CAAA,CAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAA+B,CAAA,CAAC,CAAA;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,EAAM,IAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACxC,CAAC,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA;AACF,CAAA;;"}

View File

@@ -0,0 +1,21 @@
'use client';
'use strict';
function superstructResolver(schema) {
function structValidation(values) {
const formErrors = {};
const [err] = schema.validate(values);
if (!err) {
return formErrors;
}
err.failures().forEach((fieldFailure) => {
const fieldName = fieldFailure.path.join(" ");
formErrors[fieldFailure.path.join(".")] = `${fieldName}: ${fieldFailure.message}`;
});
return formErrors;
}
return structValidation;
}
exports.superstructResolver = superstructResolver;
//# sourceMappingURL=superstruct-resolver.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"superstruct-resolver.cjs","sources":["../../../src/resolvers/superstruct-resolver/superstruct-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ntype StructFailure = {\n value: any;\n key: any;\n type: string;\n refinement: string | undefined;\n message: string;\n explanation?: string;\n branch: Array<any>;\n path: Array<any>;\n};\n\ntype StructValidationError = {\n failures: () => Array<StructFailure>;\n};\n\n/** @deprecated Use https://github.com/mantinedev/mantine-form-superstruct-resolver */\nexport function superstructResolver(schema: any) {\n function structValidation(values: Record<string, any>): FormErrors {\n const formErrors: FormErrors = {};\n\n const [err]: [StructValidationError | null, unknown] = schema.validate(values);\n if (!err) {\n return formErrors;\n }\n\n err.failures().forEach((fieldFailure) => {\n const fieldName = fieldFailure.path.join(' ');\n formErrors[fieldFailure.path.join('.')] = `${fieldName}: ${fieldFailure.message}`;\n });\n\n return formErrors;\n }\n\n return structValidation;\n}\n"],"names":[],"mappings":";;;AAkBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAA;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAyB,CAAA,CAAC,CAAA;AAEhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAA6C,MAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA;AAC7E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,IAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,IAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,IAAI,CAAA,CAAA,CAAG,SAAS,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACjF,CAAC,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}

View File

@@ -0,0 +1,22 @@
'use client';
'use strict';
function yupResolver(schema) {
const _schema = schema;
return (values) => {
try {
_schema.validateSync(values, { abortEarly: false });
return {};
} catch (_yupError) {
const yupError = _yupError;
const results = {};
yupError.inner.forEach((error) => {
results[error.path.replaceAll("[", ".").replaceAll("]", "")] = error.message;
});
return results;
}
};
}
exports.yupResolver = yupResolver;
//# sourceMappingURL=yup-resolver.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"yup-resolver.cjs","sources":["../../../src/resolvers/yup-resolver/yup-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ninterface YupError {\n path: string;\n message: string;\n}\n\ninterface YupValidationResult {\n inner: YupError[];\n}\n\ninterface YupSchema {\n validateSync: (values: Record<string, any>, options: { abortEarly: boolean }) => void;\n}\n\n/** @deprecated Use https://github.com/mantinedev/mantine-form-yup-resolver */\nexport function yupResolver(schema: any) {\n const _schema: YupSchema = schema;\n\n return (values: Record<string, any>): FormErrors => {\n try {\n _schema.validateSync(values, { abortEarly: false });\n return {};\n } catch (_yupError) {\n const yupError = _yupError as YupValidationResult;\n const results: Record<string, any> = {};\n\n yupError.inner.forEach((error) => {\n results[error.path.replaceAll('[', '.').replaceAll(']', '')] = error.message;\n });\n\n return results;\n }\n };\n}\n"],"names":[],"mappings":";;;AAgBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAC,CAAA;AAAA,CAAA,CAAA,CAAA,CACV,SAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAA+B,CAAA,CAAC,CAAA;AAEtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAQ,CAAC,KAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvE,CAAC,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAAA,CAAA,CACF,CAAA,CAAA;AACF,CAAA;;"}

View File

@@ -0,0 +1,19 @@
'use client';
'use strict';
function zodResolver(schema) {
return (values) => {
const parsed = schema.safeParse(values);
if (parsed.success) {
return {};
}
const results = {};
parsed.error.errors.forEach((error) => {
results[error.path.join(".")] = error.message;
});
return results;
};
}
exports.zodResolver = zodResolver;
//# sourceMappingURL=zod-resolver.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"zod-resolver.cjs","sources":["../../../src/resolvers/zod-resolver/zod-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ninterface ZodError {\n path: (string | number)[];\n message: string;\n}\n\ninterface ZodParseSuccess {\n success: true;\n}\n\ninterface ZodParseError {\n success: false;\n error: {\n errors: ZodError[];\n };\n}\n\ninterface ZodSchema<T extends Record<string, any>> {\n safeParse: (values: T) => ZodParseSuccess | ZodParseError;\n}\n\n/** @deprecated Use https://github.com/mantinedev/mantine-form-zod-resolver */\nexport function zodResolver<T extends Record<string, any>>(schema: ZodSchema<T>) {\n return (values: T): FormErrors => {\n const parsed = schema.safeParse(values);\n\n if (parsed.success) {\n return {};\n }\n\n const results: Record<string, any> = {};\n\n (parsed as ZodParseError).error.errors.forEach((error) => {\n results[error.path.join('.')] = error.message;\n });\n\n return results;\n };\n}\n"],"names":[],"mappings":";;;AAuBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAA2C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAA;AAC/E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,MAAM,CAAA,CAAA;AAEtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAC,CAAA;AAAA,CAAA,CAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAA+B,CAAA,CAAC,CAAA;AAEtC,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,EAAM,IAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAC,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACxC,CAAC,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA;AACF,CAAA;;"}

130
node_modules/@mantine/form/cjs/use-field.cjs generated vendored Normal file
View File

@@ -0,0 +1,130 @@
'use client';
'use strict';
var react = require('react');
var getInputOnChange = require('./get-input-on-change/get-input-on-change.cjs');
require('klona/full');
var shouldValidateOnChange = require('./validate/should-validate-on-change.cjs');
function useField({
mode = "controlled",
clearErrorOnChange = true,
initialValue,
initialError = null,
initialTouched = false,
onValueChange,
validateOnChange = false,
validateOnBlur = false,
validate,
resolveValidationError,
type = "input"
}) {
const [valueState, setValueState] = react.useState(initialValue);
const valueRef = react.useRef(valueState);
const [key, setKey] = react.useState(0);
const [error, setError] = react.useState(initialError || null);
const touchedRef = react.useRef(initialTouched || false);
const [, setTouchedState] = react.useState(touchedRef.current);
const [isValidating, setIsValidating] = react.useState(false);
const errorResolver = react.useMemo(
() => resolveValidationError || ((err) => err),
[resolveValidationError]
);
const setTouched = react.useCallback((val, { updateState = mode === "controlled" } = {}) => {
touchedRef.current = val;
updateState && setTouchedState(val);
}, []);
const setValue = react.useCallback(
(value, {
updateKey = mode === "uncontrolled",
updateState = mode === "controlled"
} = {}) => {
if (valueRef.current === value) {
return;
}
valueRef.current = value;
onValueChange?.(value);
if (clearErrorOnChange && error !== null) {
setError(null);
}
if (updateState) {
setValueState(value);
}
if (updateKey) {
setKey((currentKey) => currentKey + 1);
}
if (validateOnChange) {
_validate();
}
},
[error, clearErrorOnChange, onValueChange]
);
const reset = react.useCallback(() => {
setValue(initialValue);
setError(null);
setTouched(false);
}, [initialValue]);
const getValue = react.useCallback(() => valueRef.current, []);
const isTouched = react.useCallback(() => touchedRef.current, []);
const isDirty = react.useCallback(() => valueRef.current !== initialValue, [initialValue]);
const _validate = react.useCallback(async () => {
const validationResult = validate?.(valueRef.current);
if (validationResult instanceof Promise) {
setIsValidating(true);
try {
const result = await validationResult;
setIsValidating(false);
setError(result);
} catch (err) {
setIsValidating(false);
const resolvedError = errorResolver(err);
setError(resolvedError);
return resolvedError;
}
} else {
setError(validationResult);
return validationResult;
}
}, []);
const getInputProps = ({ withError = true, withFocus = true } = {}) => {
const onChange = getInputOnChange.getInputOnChange((val) => setValue(val, { updateKey: false }));
const payload = { onChange };
if (withError) {
payload.error = error;
}
if (type === "checkbox") {
payload[mode === "controlled" ? "checked" : "defaultChecked"] = valueRef.current;
} else {
payload[mode === "controlled" ? "value" : "defaultValue"] = valueRef.current;
}
if (withFocus) {
payload.onFocus = () => {
setTouched(true);
};
payload.onBlur = () => {
if (shouldValidateOnChange.shouldValidateOnChange("", !!validateOnBlur)) {
_validate();
}
};
}
return payload;
};
const resetTouched = react.useCallback(() => setTouched(false), []);
return {
key,
getValue,
setValue,
reset,
getInputProps,
isValidating,
validate: _validate,
error,
setError,
isTouched,
isDirty,
resetTouched
};
}
exports.useField = useField;
//# sourceMappingURL=use-field.cjs.map

1
node_modules/@mantine/form/cjs/use-field.cjs.map generated vendored Normal file

File diff suppressed because one or more lines are too long

251
node_modules/@mantine/form/cjs/use-form.cjs generated vendored Normal file
View File

@@ -0,0 +1,251 @@
'use client';
'use strict';
var react = require('react');
var actions = require('./actions/actions.cjs');
var getInputOnChange = require('./get-input-on-change/get-input-on-change.cjs');
var useFormErrors = require('./hooks/use-form-errors/use-form-errors.cjs');
var useFormList = require('./hooks/use-form-list/use-form-list.cjs');
var useFormStatus = require('./hooks/use-form-status/use-form-status.cjs');
var useFormValues = require('./hooks/use-form-values/use-form-values.cjs');
var useFormWatch = require('./hooks/use-form-watch/use-form-watch.cjs');
var getPath = require('./paths/get-path.cjs');
require('klona/full');
var getDataPath = require('./paths/get-data-path.cjs');
var validateValues = require('./validate/validate-values.cjs');
var validateFieldValue = require('./validate/validate-field-value.cjs');
var shouldValidateOnChange = require('./validate/should-validate-on-change.cjs');
function useForm({
name,
mode = "controlled",
initialValues,
initialErrors = {},
initialDirty = {},
initialTouched = {},
clearInputErrorOnChange = true,
validateInputOnChange = false,
validateInputOnBlur = false,
onValuesChange,
transformValues = ((values) => values),
enhanceGetInputProps,
validate: rules,
onSubmitPreventDefault = "always",
touchTrigger = "change",
cascadeUpdates = false
} = {}) {
const $errors = useFormErrors.useFormErrors(initialErrors);
const $values = useFormValues.useFormValues({ initialValues, onValuesChange, mode });
const $status = useFormStatus.useFormStatus({ initialDirty, initialTouched, $values, mode });
const $list = useFormList.useFormList({ $values, $errors, $status });
const $watch = useFormWatch.useFormWatch({ $status, cascadeUpdates });
const [formKey, setFormKey] = react.useState(0);
const [fieldKeys, setFieldKeys] = react.useState({});
const [submitting, setSubmitting] = react.useState(false);
const reset = react.useCallback(() => {
$values.resetValues();
$errors.clearErrors();
$status.resetDirty();
$status.resetTouched();
mode === "uncontrolled" && setFormKey((key2) => key2 + 1);
}, []);
const handleValuesChanges = react.useCallback(
(previousValues) => {
clearInputErrorOnChange && $errors.clearErrors();
mode === "uncontrolled" && setFormKey((key2) => key2 + 1);
Object.keys($watch.subscribers.current).forEach((path) => {
const value = getPath.getPath(path, $values.refValues.current);
const previousValue = getPath.getPath(path, previousValues);
if (value !== previousValue) {
$watch.getFieldSubscribers(path).forEach((cb) => cb({ previousValues, updatedValues: $values.refValues.current }));
}
});
},
[clearInputErrorOnChange]
);
const initialize = react.useCallback(
(values) => {
const previousValues = $values.refValues.current;
$values.initialize(values, () => mode === "uncontrolled" && setFormKey((key2) => key2 + 1));
handleValuesChanges(previousValues);
},
[handleValuesChanges]
);
const setFieldValue = react.useCallback(
(path, value, options) => {
const shouldValidate = shouldValidateOnChange.shouldValidateOnChange(path, validateInputOnChange);
const resolvedValue = value instanceof Function ? value(getPath.getPath(path, $values.refValues.current)) : value;
$status.setCalculatedFieldDirty(path, resolvedValue);
touchTrigger === "change" && $status.setFieldTouched(path, true);
!shouldValidate && clearInputErrorOnChange && $errors.clearFieldError(path);
$values.setFieldValue({
path,
value,
updateState: mode === "controlled",
subscribers: [
...$watch.getFieldSubscribers(path),
shouldValidate ? (payload) => {
const validationResults = validateFieldValue.validateFieldValue(path, rules, payload.updatedValues);
validationResults.hasError ? $errors.setFieldError(path, validationResults.error) : $errors.clearFieldError(path);
} : null,
options?.forceUpdate !== false && mode !== "controlled" ? () => setFieldKeys((keys) => ({
...keys,
[path]: (keys[path] || 0) + 1
})) : null
]
});
},
[onValuesChange, rules]
);
const setValues = react.useCallback(
(values) => {
const previousValues = $values.refValues.current;
$values.setValues({ values, updateState: mode === "controlled" });
handleValuesChanges(previousValues);
},
[onValuesChange, handleValuesChanges]
);
const validate = react.useCallback(() => {
const results = validateValues.validateValues(rules, $values.refValues.current);
$errors.setErrors(results.errors);
return results;
}, [rules]);
const validateField = react.useCallback(
(path) => {
const results = validateFieldValue.validateFieldValue(path, rules, $values.refValues.current);
results.hasError ? $errors.setFieldError(path, results.error) : $errors.clearFieldError(path);
return results;
},
[rules]
);
const getInputProps = (path, { type = "input", withError = true, withFocus = true, ...otherOptions } = {}) => {
const onChange = getInputOnChange.getInputOnChange(
(value) => setFieldValue(path, value, { forceUpdate: false })
);
const payload = { onChange, "data-path": getDataPath.getDataPath(name, path) };
if (withError) {
payload.error = $errors.errorsState[path];
}
if (type === "checkbox") {
payload[mode === "controlled" ? "checked" : "defaultChecked"] = getPath.getPath(
path,
$values.refValues.current
);
} else {
payload[mode === "controlled" ? "value" : "defaultValue"] = getPath.getPath(
path,
$values.refValues.current
);
}
if (withFocus) {
payload.onFocus = () => $status.setFieldTouched(path, true);
payload.onBlur = () => {
if (shouldValidateOnChange.shouldValidateOnChange(path, validateInputOnBlur)) {
const validationResults = validateFieldValue.validateFieldValue(path, rules, $values.refValues.current);
validationResults.hasError ? $errors.setFieldError(path, validationResults.error) : $errors.clearFieldError(path);
}
};
}
return Object.assign(
payload,
enhanceGetInputProps?.({
inputProps: payload,
field: path,
options: { type, withError, withFocus, ...otherOptions },
form
})
);
};
const onSubmit = (handleSubmit, handleValidationFailure) => (event) => {
if (onSubmitPreventDefault === "always") {
event?.preventDefault();
}
const results = validate();
if (results.hasErrors) {
if (onSubmitPreventDefault === "validation-failed") {
event?.preventDefault();
}
handleValidationFailure?.(results.errors, $values.refValues.current, event);
} else {
const submitResult = handleSubmit?.(
transformValues($values.refValues.current),
event
);
if (submitResult instanceof Promise) {
setSubmitting(true);
submitResult.finally(() => setSubmitting(false));
}
}
};
const getTransformedValues = (input) => transformValues(input || $values.refValues.current);
const onReset = react.useCallback((event) => {
event.preventDefault();
reset();
}, []);
const isValid = react.useCallback(
(path) => path ? !validateFieldValue.validateFieldValue(path, rules, $values.refValues.current).hasError : !validateValues.validateValues(rules, $values.refValues.current).hasErrors,
[rules]
);
const key = (path) => `${formKey}-${String(path)}-${fieldKeys[String(path)] || 0}`;
const getInputNode = react.useCallback(
(path) => document.querySelector(`[data-path="${getDataPath.getDataPath(name, path)}"]`),
[]
);
const resetField = react.useCallback(
(path) => {
$values.resetField(path, [
mode !== "controlled" ? () => setFieldKeys((keys) => ({
...keys,
[path]: (keys[path] || 0) + 1
})) : null
]);
},
[$values.resetField, mode, setFieldKeys]
);
const form = {
watch: $watch.watch,
initialized: $values.initialized.current,
values: mode === "uncontrolled" ? $values.refValues.current : $values.stateValues,
getValues: $values.getValues,
getInitialValues: $values.getValuesSnapshot,
setInitialValues: $values.setValuesSnapshot,
resetField,
initialize,
setValues,
setFieldValue,
submitting,
setSubmitting,
errors: $errors.errorsState,
setErrors: $errors.setErrors,
setFieldError: $errors.setFieldError,
clearFieldError: $errors.clearFieldError,
clearErrors: $errors.clearErrors,
resetDirty: $status.resetDirty,
setTouched: $status.setTouched,
setDirty: $status.setDirty,
isTouched: $status.isTouched,
resetTouched: $status.resetTouched,
isDirty: $status.isDirty,
getTouched: $status.getTouched,
getDirty: $status.getDirty,
reorderListItem: $list.reorderListItem,
insertListItem: $list.insertListItem,
removeListItem: $list.removeListItem,
replaceListItem: $list.replaceListItem,
reset,
validate,
validateField,
getInputProps,
onSubmit,
onReset,
isValid,
getTransformedValues,
key,
getInputNode
};
actions.useFormActions(name, form);
return form;
}
exports.useForm = useForm;
//# sourceMappingURL=use-form.cjs.map

1
node_modules/@mantine/form/cjs/use-form.cjs.map generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,20 @@
'use client';
'use strict';
var formIndex = require('../form-index.cjs');
function shouldValidateOnChange(path, validateInputOnChange) {
if (!validateInputOnChange) {
return false;
}
if (typeof validateInputOnChange === "boolean") {
return validateInputOnChange;
}
if (Array.isArray(validateInputOnChange)) {
return validateInputOnChange.includes(path.replace(/[.][0-9]+/g, `.${formIndex.FORM_INDEX}`));
}
return false;
}
exports.shouldValidateOnChange = shouldValidateOnChange;
//# sourceMappingURL=should-validate-on-change.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"should-validate-on-change.cjs","sources":["../../src/validate/should-validate-on-change.ts"],"sourcesContent":["import { FORM_INDEX } from '../form-index';\n\nexport function shouldValidateOnChange(path: unknown, validateInputOnChange: boolean | unknown[]) {\n if (!validateInputOnChange) {\n return false;\n }\n\n if (typeof validateInputOnChange === 'boolean') {\n return validateInputOnChange;\n }\n\n if (Array.isArray(validateInputOnChange)) {\n return validateInputOnChange.includes((path as string).replace(/[.][0-9]+/g, `.${FORM_INDEX}`));\n }\n\n return false;\n}\n"],"names":["FORM_INDEX"],"mappings":";;;;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAA,CAAA,CAAA,GAAe,qBAAA,CAAA,CAA4C,CAAA;AAChG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAA0B,SAAA,CAAA,CAAW,CAAA;AAC9C,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAG,CAAA;AACxC,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,SAAU,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAc,CAAA,CAAA,CAAA,CAAIA,oBAAU,EAAE,CAAC,CAAA,CAAA;AAAA,CAAA,CAChG,CAAA;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}

View File

@@ -0,0 +1,18 @@
'use client';
'use strict';
var validateValues = require('./validate-values.cjs');
function validateFieldValue(path, rules, values) {
if (typeof path !== "string") {
return { hasError: false, error: null };
}
const results = validateValues.validateValues(rules, values);
const pathInError = Object.keys(results.errors).find(
(errorKey) => path.split(".").every((pathPart, i) => pathPart === errorKey.split(".")[i])
);
return { hasError: !!pathInError, error: pathInError ? results.errors[pathInError] : null };
}
exports.validateFieldValue = validateFieldValue;
//# sourceMappingURL=validate-field-value.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"validate-field-value.cjs","sources":["../../src/validate/validate-field-value.ts"],"sourcesContent":["import { FormFieldValidationResult, FormValidateInput } from '../types';\nimport { validateValues } from './validate-values';\n\nexport function validateFieldValue<T>(\n path: unknown,\n rules: FormValidateInput<T> | undefined,\n values: T\n): FormFieldValidationResult {\n if (typeof path !== 'string') {\n return { hasError: false, error: null };\n }\n\n const results = validateValues(rules, values);\n const pathInError = Object.keys(results.errors).find((errorKey) =>\n path.split('.').every((pathPart, i) => pathPart === errorKey.split('.')[i])\n );\n return { hasError: !!pathInError, error: pathInError ? results.errors[pathInError] : null };\n}\n"],"names":["validateValues"],"mappings":";;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,kBAAA,CACd,CAAA,CAAA,CAAA,CAAA,EACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,MAAA,CAAA,CAC2B,CAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,MAAS,QAAA,CAAA,CAAU,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,KAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AAAA,CAAA,CACxC,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAA,CAAA,CAAUA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,MAAM,CAAA,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpD,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE,CAAC,CAAC,CAAA;AAAA,CAAA,CAAA,CAC5E,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,WAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,WAAW,CAAA,CAAA,CAAA,CAAI,IAAA,CAAA,CAAK,CAAA;AAC5F,CAAA;;"}

View File

@@ -0,0 +1,54 @@
'use client';
'use strict';
var filterErrors = require('../hooks/use-form-errors/filter-errors/filter-errors.cjs');
var getPath = require('../paths/get-path.cjs');
require('klona/full');
const formRootRule = Symbol("root-rule");
function getValidationResults(errors) {
const filteredErrors = filterErrors.filterErrors(errors);
return { hasErrors: Object.keys(filteredErrors).length > 0, errors: filteredErrors };
}
function validateRulesRecord(rules, values, path = "", errors = {}) {
if (typeof rules !== "object" || rules === null) {
return errors;
}
return Object.keys(rules).reduce((acc, ruleKey) => {
const rule = rules[ruleKey];
const rulePath = `${path === "" ? "" : `${path}.`}${ruleKey}`;
const value = getPath.getPath(rulePath, values);
let arrayValidation = false;
if (typeof rule === "function") {
acc[rulePath] = rule(value, values, rulePath);
}
if (typeof rule === "object" && Array.isArray(value)) {
arrayValidation = true;
value.forEach(
(_item, index) => validateRulesRecord(rule, values, `${rulePath}.${index}`, acc)
);
if (formRootRule in rule) {
acc[rulePath] = rule[formRootRule](value, values, rulePath);
}
}
if (typeof rule === "object" && typeof value === "object" && value !== null) {
if (!arrayValidation) {
validateRulesRecord(rule, values, rulePath, acc);
}
if (formRootRule in rule) {
acc[rulePath] = rule[formRootRule](value, values, rulePath);
}
}
return acc;
}, errors);
}
function validateValues(validate, values) {
if (typeof validate === "function") {
return getValidationResults(validate(values));
}
return getValidationResults(validateRulesRecord(validate, values));
}
exports.formRootRule = formRootRule;
exports.validateValues = validateValues;
//# sourceMappingURL=validate-values.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,32 @@
'use client';
'use strict';
function isLengthValid(payload, value) {
if (typeof payload === "number") {
return value.length === payload;
}
const { max, min } = payload;
let valid = true;
if (typeof max === "number" && value.length > max) {
valid = false;
}
if (typeof min === "number" && value.length < min) {
valid = false;
}
return valid;
}
function hasLength(payload, error) {
const _error = error || true;
return (value) => {
if (typeof value === "string") {
return isLengthValid(payload, value.trim()) ? null : _error;
}
if (typeof value === "object" && value !== null && "length" in value) {
return isLengthValid(payload, value) ? null : _error;
}
return _error;
};
}
exports.hasLength = hasLength;
//# sourceMappingURL=has-length.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"has-length.cjs","sources":["../../../src/validators/has-length/has-length.ts"],"sourcesContent":["interface HasLengthOptions {\n max?: number;\n min?: number;\n}\n\ntype HasLengthPayload = HasLengthOptions | number;\n\nfunction isLengthValid(payload: HasLengthPayload, value: any) {\n if (typeof payload === 'number') {\n return value.length === payload;\n }\n\n const { max, min } = payload;\n let valid = true;\n\n if (typeof max === 'number' && value.length > max) {\n valid = false;\n }\n\n if (typeof min === 'number' && value.length < min) {\n valid = false;\n }\n\n return valid;\n}\n\nexport function hasLength(payload: HasLengthPayload, error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown): React.ReactNode => {\n if (typeof value === 'string') {\n return isLengthValid(payload, value.trim()) ? null : _error;\n }\n\n if (typeof value === 'object' && value !== null && 'length' in value) {\n return isLengthValid(payload, value) ? null : _error;\n }\n\n return _error;\n };\n}\n"],"names":[],"mappings":";;;AAOA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAA2B,KAAA,CAAA,CAAY,CAAA;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAY,QAAA,CAAA,CAAU,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAC1B,CAAA;AAEA,CAAA,CAAA,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAI,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA;AAEZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAA2B,KAAA,CAAA,CAAyB,CAAA;AAC5E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,MAAU,QAAA,CAAA,CAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAI,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACvD,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAY,KAAA,CAAA,CAAO,CAAA;AACpE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,KAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAChD,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA;AACF,CAAA;;"}

View File

@@ -0,0 +1,11 @@
'use client';
'use strict';
var matches = require('../matches/matches.cjs');
function isEmail(error) {
return matches.matches(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, error);
}
exports.isEmail = isEmail;
//# sourceMappingURL=is-email.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"is-email.cjs","sources":["../../../src/validators/is-email/is-email.ts"],"sourcesContent":["import { matches } from '../matches/matches';\n\nexport function isEmail(error?: React.ReactNode) {\n return matches(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/, error);\n}\n"],"names":["matches"],"mappings":";;;;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA;AAC/C,CAAA,CAAA,OAAOA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAoD,KAAK,CAAA,CAAA;AAC1E,CAAA;;"}

View File

@@ -0,0 +1,22 @@
'use client';
'use strict';
function isInRange({ min, max }, error) {
const _error = error || true;
return (value) => {
if (typeof value !== "number") {
return _error;
}
let valid = true;
if (typeof min === "number" && value < min) {
valid = false;
}
if (typeof max === "number" && value > max) {
valid = false;
}
return valid ? null : _error;
};
}
exports.isInRange = isInRange;
//# sourceMappingURL=is-in-range.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"is-in-range.cjs","sources":["../../../src/validators/is-in-range/is-in-range.ts"],"sourcesContent":["interface IsInRangePayload {\n min?: number;\n max?: number;\n}\n\nexport function isInRange({ min, max }: IsInRangePayload, error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown): React.ReactNode => {\n if (typeof value !== 'number') {\n return _error;\n }\n\n let valid = true;\n\n if (typeof min === 'number' && value < min) {\n valid = false;\n }\n\n if (typeof max === 'number' && value > max) {\n valid = false;\n }\n\n return valid ? null : _error;\n };\n}\n"],"names":[],"mappings":";;;AAKO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAE,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,GAAyB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA;AACjF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,MAAU,QAAA,CAAA,CAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA;AAEZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,QAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,QAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACxB,CAAA,CAAA;AACF,CAAA;;"}

View File

@@ -0,0 +1,20 @@
'use client';
'use strict';
function isJSONString(error) {
const _error = error || true;
return (value) => {
if (typeof value === "string") {
try {
JSON.parse(value);
return null;
} catch (e) {
return _error;
}
}
return _error;
};
}
exports.isJSONString = isJSONString;
//# sourceMappingURL=is-json-string.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"is-json-string.cjs","sources":["../../../src/validators/is-json-string/is-json-string.ts"],"sourcesContent":["export function isJSONString(error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown): React.ReactNode => {\n if (typeof value === 'string') {\n try {\n JSON.parse(value);\n return null;\n } catch (e) {\n return _error;\n }\n }\n\n return _error;\n };\n}\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,MAAU,QAAA,CAAA,CAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,EAAM,KAAK,CAAA,CAAA;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,SAAS,CAAA,CAAA,CAAG,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAAA,CAAA,CAAA,CAAA,CACF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA;AACF,CAAA;;"}

View File

@@ -0,0 +1,18 @@
'use client';
'use strict';
function removeHtmlTags(input) {
return input.replace(/<\/?[^>]+(>|$)/g, "");
}
function isNotEmptyHTML(error) {
const _error = error || true;
return (value) => {
if (typeof value === "string") {
return removeHtmlTags(value).trim().length > 0 ? null : _error;
}
return _error;
};
}
exports.isNotEmptyHTML = isNotEmptyHTML;
//# sourceMappingURL=is-not-empty-html.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"is-not-empty-html.cjs","sources":["../../../src/validators/is-not-empty-html/is-not-empty-html.ts"],"sourcesContent":["function removeHtmlTags(input: string): string {\n return input.replace(/<\\/?[^>]+(>|$)/g, '');\n}\n\nexport function isNotEmptyHTML(error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown): React.ReactNode => {\n if (typeof value === 'string') {\n return removeHtmlTags(value).trim().length > 0 ? null : _error;\n }\n\n return _error;\n };\n}\n"],"names":[],"mappings":";;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAA;AAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,EAAE,CAAA,CAAA;AAC5C,CAAA;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA;AACtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,MAAU,QAAA,CAAA,CAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,GAAK,CAAE,MAAA,CAAA,CAAA,CAAS,IAAI,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAC1D,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA;AACF,CAAA;;"}

View File

@@ -0,0 +1,24 @@
'use client';
'use strict';
function isNotEmpty(error) {
const _error = error || true;
return (value) => {
if (typeof value === "string") {
return value.trim().length > 0 ? null : _error;
}
if (Array.isArray(value)) {
return value.length > 0 ? null : _error;
}
if (value === null || value === void 0) {
return _error;
}
if (value === false) {
return _error;
}
return null;
};
}
exports.isNotEmpty = isNotEmpty;
//# sourceMappingURL=is-not-empty.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"is-not-empty.cjs","sources":["../../../src/validators/is-not-empty/is-not-empty.ts"],"sourcesContent":["export function isNotEmpty(error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown): React.ReactNode => {\n if (typeof value === 'string') {\n return value.trim().length > 0 ? null : _error;\n }\n\n if (Array.isArray(value)) {\n return value.length > 0 ? null : _error;\n }\n\n if (value === null || value === undefined) {\n return _error;\n }\n\n if (value === false) {\n return _error;\n }\n\n return null;\n };\n}\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,MAAU,QAAA,CAAA,CAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAC1C,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACnC,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,KAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,MAAA,CAAA,CAAW,CAAA;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,MAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AACnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA;AACF,CAAA;;"}

View File

@@ -0,0 +1,15 @@
'use client';
'use strict';
function matchesField(field, error) {
const _error = error || true;
return (value, values) => {
if (!values || !(field in values)) {
return _error;
}
return value === values[field] ? null : _error;
};
}
exports.matchesField = matchesField;
//# sourceMappingURL=matches-field.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"matches-field.cjs","sources":["../../../src/validators/matches-field/matches-field.ts"],"sourcesContent":["export function matchesField<T>(field: keyof T, error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown, values: T): React.ReactNode => {\n if (!values || !(field in (values as any))) {\n return _error;\n }\n\n return value === values[field] ? null : _error;\n };\n}\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,GAAgB,KAAA,CAAA,CAAyB,CAAA;AACvE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,GAAgB,MAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAA;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,KAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAC1C,CAAA,CAAA;AACF,CAAA;;"}

View File

@@ -0,0 +1,15 @@
'use client';
'use strict';
function matches(regexp, error) {
const _error = error || true;
return (value) => {
if (typeof value !== "string") {
return _error;
}
return regexp.test(value) ? null : _error;
};
}
exports.matches = matches;
//# sourceMappingURL=matches.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"matches.cjs","sources":["../../../src/validators/matches/matches.ts"],"sourcesContent":["export function matches(regexp: RegExp, error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown): React.ReactNode => {\n if (typeof value !== 'string') {\n return _error;\n }\n\n return regexp.test(value) ? null : _error;\n };\n}\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,GAAgB,KAAA,CAAA,CAAyB,CAAA;AAC/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,MAAU,QAAA,CAAA,CAAU,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACrC,CAAA,CAAA;AACF,CAAA;;"}

23
node_modules/@mantine/form/esm/Form/Form.mjs generated vendored Normal file
View File

@@ -0,0 +1,23 @@
'use client';
import { jsx } from 'react/jsx-runtime';
import { forwardRef } from 'react';
const Form = forwardRef(
({ form, onSubmit, onReset, ...others }, ref) => /* @__PURE__ */ jsx(
"form",
{
...others,
onSubmit: form.onSubmit(typeof onSubmit === "function" ? onSubmit : () => {
}),
onReset: (event) => {
onReset?.(event);
form.onReset(event);
},
ref
}
)
);
Form.displayName = "@mantine/use-form/Form";
export { Form };
//# sourceMappingURL=Form.mjs.map

1
node_modules/@mantine/form/esm/Form/Form.mjs.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Form.mjs","sources":["../../src/Form/Form.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { TransformedValues, UseFormReturnType } from '../types';\n\nexport interface FormProps<Form extends UseFormReturnType<any>>\n extends React.ComponentPropsWithRef<'form'> {\n form: Form;\n onSubmit?: (values: TransformedValues<Form>) => void;\n}\n\nexport type FormComponent = (<Form extends UseFormReturnType<any>>(\n props: FormProps<Form>\n) => React.JSX.Element | React.ReactNode) & { displayName?: string };\n\nexport const Form: FormComponent = forwardRef(\n <Form extends UseFormReturnType<any>>(\n { form, onSubmit, onReset, ...others }: FormProps<Form>,\n ref: React.ForwardedRef<HTMLFormElement>\n ) => (\n <form\n {...others}\n onSubmit={form.onSubmit(typeof onSubmit === 'function' ? onSubmit : () => {})}\n onReset={(event) => {\n onReset?.(event);\n form.onReset(event);\n }}\n ref={ref}\n />\n )\n);\n\nForm.displayName = '@mantine/use-form/Form';\n"],"names":[],"mappings":";;;;AAaO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,GAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACjC,CACE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAC9B,CAAA,CAAA,CAAA,qBAEA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC5E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA;AACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,KAAK,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpB,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGN,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}

View File

@@ -0,0 +1,22 @@
'use client';
import { jsx } from 'react/jsx-runtime';
import { createContext, useContext } from 'react';
import { useForm } from '../use-form.mjs';
function createFormContext() {
const FormContext = createContext(null);
function FormProvider({ form, children }) {
return /* @__PURE__ */ jsx(FormContext.Provider, { value: form, children });
}
function useFormContext() {
const ctx = useContext(FormContext);
if (!ctx) {
throw new Error("useFormContext was called outside of FormProvider context");
}
return ctx;
}
return [FormProvider, useFormContext, useForm];
}
export { createFormContext };
//# sourceMappingURL=FormProvider.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"FormProvider.mjs","sources":["../../src/FormProvider/FormProvider.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { _TransformValues, UseForm, UseFormReturnType } from '../types';\nimport { useForm } from '../use-form';\n\nexport interface FormProviderProps<Form> {\n form: Form;\n children: React.ReactNode;\n}\n\nexport function createFormContext<\n Values,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>() {\n type Form = UseFormReturnType<Values, TransformValues>;\n\n const FormContext = createContext<Form | null>(null);\n\n function FormProvider({ form, children }: FormProviderProps<Form>) {\n return <FormContext.Provider value={form}>{children}</FormContext.Provider>;\n }\n\n function useFormContext() {\n const ctx = useContext(FormContext);\n if (!ctx) {\n throw new Error('useFormContext was called outside of FormProvider context');\n }\n\n return ctx;\n }\n\n return [FormProvider, useFormContext, useForm] as [\n React.FC<FormProviderProps<Form>>,\n () => Form,\n UseForm<Values, TransformValues>,\n ];\n}\n"],"names":[],"mappings":";;;;;AASO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,iBAAA,CAAA,CAAA,CAGZ,CAAA;AAGF,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAA2B,IAAI,CAAA,CAAA;AAEnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,YAAA,CAAa,CAAA,CAAE,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAA4B,CAAA;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAZ,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA;AAAA,CAAA,CACtD,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,cAAA,CAAA,CAAA,CAAiB,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,WAAW,CAAA,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,EAAM,2DAA2D,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAC7E,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,OAAO,CAAA,CAAA;AAK/C,CAAA;;"}

126
node_modules/@mantine/form/esm/actions/actions.mjs generated vendored Normal file
View File

@@ -0,0 +1,126 @@
'use client';
import { useLayoutEffect, useEffect } from 'react';
function dispatchEvent(type, detail) {
window.dispatchEvent(new CustomEvent(type, { detail }));
}
function validateFormName(name) {
if (!/^[0-9a-zA-Z-]+$/.test(name)) {
throw new Error(
`[@mantine/use-form] Form name "${name}" is invalid, it should contain only letters, numbers and dashes`
);
}
}
const useIsomorphicEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
function createFormActions(name) {
validateFormName(name);
const setFieldValue = (path, value) => dispatchEvent(`mantine-form:${name}:set-field-value`, { path, value });
const setValues = (values) => dispatchEvent(`mantine-form:${name}:set-values`, values);
const setInitialValues = (values) => dispatchEvent(`mantine-form:${name}:set-initial-values`, values);
const setErrors = (errors) => dispatchEvent(`mantine-form:${name}:set-errors`, errors);
const setFieldError = (path, error) => dispatchEvent(`mantine-form:${name}:set-field-error`, { path, error });
const clearFieldError = (path) => dispatchEvent(`mantine-form:${name}:clear-field-error`, path);
const clearErrors = () => dispatchEvent(`mantine-form:${name}:clear-errors`);
const reset = () => dispatchEvent(`mantine-form:${name}:reset`);
const validate = () => dispatchEvent(`mantine-form:${name}:validate`);
const validateField = (path) => dispatchEvent(`mantine-form:${name}:validate-field`, path);
const reorderListItem = (path, payload) => dispatchEvent(`mantine-form:${name}:reorder-list-item`, { path, payload });
const removeListItem = (path, index) => dispatchEvent(`mantine-form:${name}:remove-list-item`, { path, index });
const insertListItem = (path, item, index) => dispatchEvent(`mantine-form:${name}:insert-list-item`, { path, index, item });
const setDirty = (value) => dispatchEvent(`mantine-form:${name}:set-dirty`, value);
const setTouched = (value) => dispatchEvent(`mantine-form:${name}:set-touched`, value);
const resetDirty = (values) => dispatchEvent(`mantine-form:${name}:reset-dirty`, values);
const resetTouched = () => dispatchEvent(`mantine-form:${name}:reset-touched`);
return {
setFieldValue,
setValues,
setInitialValues,
setErrors,
setFieldError,
clearFieldError,
clearErrors,
reset,
validate,
validateField,
reorderListItem,
removeListItem,
insertListItem,
setDirty,
setTouched,
resetDirty,
resetTouched
};
}
function useFormEvent(eventKey, handler) {
useIsomorphicEffect(() => {
if (eventKey) {
window.addEventListener(eventKey, handler);
return () => window.removeEventListener(eventKey, handler);
}
return void 0;
}, [eventKey]);
}
function useFormActions(name, form) {
if (name) {
validateFormName(name);
}
useFormEvent(
`mantine-form:${name}:set-field-value`,
(event) => form.setFieldValue(event.detail.path, event.detail.value)
);
useFormEvent(
`mantine-form:${name}:set-values`,
(event) => form.setValues(event.detail)
);
useFormEvent(
`mantine-form:${name}:set-initial-values`,
(event) => form.setInitialValues(event.detail)
);
useFormEvent(
`mantine-form:${name}:set-errors`,
(event) => form.setErrors(event.detail)
);
useFormEvent(
`mantine-form:${name}:set-field-error`,
(event) => form.setFieldError(event.detail.path, event.detail.error)
);
useFormEvent(
`mantine-form:${name}:clear-field-error`,
(event) => form.clearFieldError(event.detail)
);
useFormEvent(`mantine-form:${name}:clear-errors`, form.clearErrors);
useFormEvent(`mantine-form:${name}:reset`, form.reset);
useFormEvent(`mantine-form:${name}:validate`, form.validate);
useFormEvent(
`mantine-form:${name}:validate-field`,
(event) => form.validateField(event.detail)
);
useFormEvent(
`mantine-form:${name}:reorder-list-item`,
(event) => form.reorderListItem(event.detail.path, event.detail.payload)
);
useFormEvent(
`mantine-form:${name}:remove-list-item`,
(event) => form.removeListItem(event.detail.path, event.detail.index)
);
useFormEvent(
`mantine-form:${name}:insert-list-item`,
(event) => form.insertListItem(event.detail.path, event.detail.item, event.detail.index)
);
useFormEvent(
`mantine-form:${name}:set-dirty`,
(event) => form.setDirty(event.detail)
);
useFormEvent(
`mantine-form:${name}:set-touched`,
(event) => form.setTouched(event.detail)
);
useFormEvent(
`mantine-form:${name}:reset-dirty`,
(event) => form.resetDirty(event.detail)
);
useFormEvent(`mantine-form:${name}:reset-touched`, form.resetTouched);
}
export { createFormActions, useFormActions, useIsomorphicEffect };
//# sourceMappingURL=actions.mjs.map

File diff suppressed because one or more lines are too long

5
node_modules/@mantine/form/esm/form-index.mjs generated vendored Normal file
View File

@@ -0,0 +1,5 @@
'use client';
const FORM_INDEX = "__MANTINE_FORM_INDEX__";
export { FORM_INDEX };
//# sourceMappingURL=form-index.mjs.map

1
node_modules/@mantine/form/esm/form-index.mjs.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"form-index.mjs","sources":["../src/form-index.ts"],"sourcesContent":["export const FORM_INDEX = '__MANTINE_FORM_INDEX__';\n"],"names":[],"mappings":";AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}

View File

@@ -0,0 +1,26 @@
'use client';
function getInputOnChange(setValue) {
return (val) => {
if (!val) {
setValue(val);
} else if (typeof val === "function") {
setValue(val);
} else if (typeof val === "object" && "nativeEvent" in val) {
const { currentTarget } = val;
if (currentTarget instanceof HTMLInputElement) {
if (currentTarget.type === "checkbox") {
setValue(currentTarget.checked);
} else {
setValue(currentTarget.value);
}
} else if (currentTarget instanceof HTMLTextAreaElement || currentTarget instanceof HTMLSelectElement) {
setValue(currentTarget.value);
}
} else {
setValue(val);
}
};
}
export { getInputOnChange };
//# sourceMappingURL=get-input-on-change.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-input-on-change.mjs","sources":["../../src/get-input-on-change/get-input-on-change.ts"],"sourcesContent":["export function getInputOnChange<Value>(\n setValue: (value: Value | ((current: Value) => Value)) => void\n) {\n return (val: Value | React.ChangeEvent<unknown> | ((current: Value) => Value)) => {\n if (!val) {\n setValue(val as Value);\n } else if (typeof val === 'function') {\n setValue(val);\n } else if (typeof val === 'object' && 'nativeEvent' in val) {\n const { currentTarget } = val;\n if (currentTarget instanceof HTMLInputElement) {\n if (currentTarget.type === 'checkbox') {\n setValue(currentTarget.checked as any);\n } else {\n setValue(currentTarget.value as any);\n }\n } else if (\n currentTarget instanceof HTMLTextAreaElement ||\n currentTarget instanceof HTMLSelectElement\n ) {\n setValue(currentTarget.value as any);\n }\n } else {\n setValue(val);\n }\n };\n}\n"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,12 @@
'use client';
function getStatus(status, path) {
const paths = Object.keys(status);
if (typeof path === "string") {
const nestedPaths = paths.filter((statusPath) => statusPath.startsWith(`${path}.`));
return status[path] || nestedPaths.some((statusPath) => status[statusPath]) || false;
}
return paths.some((statusPath) => status[statusPath]);
}
export { getStatus };
//# sourceMappingURL=get-status.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-status.mjs","sources":["../../src/get-status/get-status.ts"],"sourcesContent":["import { FormStatus } from '../types';\n\nexport function getStatus(status: FormStatus, path?: unknown) {\n const paths = Object.keys(status);\n\n if (typeof path === 'string') {\n const nestedPaths = paths.filter((statusPath) => statusPath.startsWith(`${path}.`));\n return status[path] || nestedPaths.some((statusPath) => status[statusPath]) || false;\n }\n\n return paths.some((statusPath) => status[statusPath]);\n}\n"],"names":[],"mappings":";AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,GAAoB,IAAA,CAAA,CAAgB,CAAA;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAK,MAAM,CAAA,CAAA;AAEhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,MAAS,QAAA,CAAA,CAAU,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,WAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AAClF,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,WAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,UAAU,CAAC,CAAA,IAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACjF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAA,CAAA;AACtD,CAAA;;"}

View File

@@ -0,0 +1,16 @@
'use client';
function filterErrors(errors) {
if (errors === null || typeof errors !== "object") {
return {};
}
return Object.keys(errors).reduce((acc, key) => {
const errorValue = errors[key];
if (errorValue !== void 0 && errorValue !== null && errorValue !== false) {
acc[key] = errorValue;
}
return acc;
}, {});
}
export { filterErrors };
//# sourceMappingURL=filter-errors.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"filter-errors.mjs","sources":["../../../../src/hooks/use-form-errors/filter-errors/filter-errors.ts"],"sourcesContent":["import type { FormErrors } from '../../../types';\n\nexport function filterErrors(errors: FormErrors): FormErrors {\n if (errors === null || typeof errors !== 'object') {\n return {};\n }\n\n return Object.keys(errors).reduce<FormErrors>((acc, key) => {\n const errorValue = errors[key];\n\n if (errorValue !== undefined && errorValue !== null && errorValue !== false) {\n acc[key] = errorValue;\n }\n\n return acc;\n }, {});\n}\n"],"names":[],"mappings":";AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAA;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,MAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA;AACjD,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAC,CAAA;AAAA,CAAA,CACV,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAA,CAAA,GAAK,GAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA;AAC1D,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,GAAG,CAAA,CAAA;AAE7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAC3E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACb,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA;AACP,CAAA;;"}

View File

@@ -0,0 +1,49 @@
'use client';
import { useState, useRef, useCallback } from 'react';
import { filterErrors } from './filter-errors/filter-errors.mjs';
function useFormErrors(initialErrors) {
const [errorsState, setErrorsState] = useState(filterErrors(initialErrors));
const errorsRef = useRef(errorsState);
const setErrors = useCallback((errors) => {
setErrorsState((current) => {
const newErrors = filterErrors(typeof errors === "function" ? errors(current) : errors);
errorsRef.current = newErrors;
return newErrors;
});
}, []);
const clearErrors = useCallback(() => setErrors({}), []);
const clearFieldError = useCallback(
(path) => {
if (errorsRef.current[path] === void 0) {
return;
}
setErrors((current) => {
const errors = { ...current };
delete errors[path];
return errors;
});
},
[errorsState]
);
const setFieldError = useCallback(
(path, error) => {
if (error == null || error === false) {
clearFieldError(path);
} else if (errorsRef.current[path] !== error) {
setErrors((current) => ({ ...current, [path]: error }));
}
},
[errorsState]
);
return {
errorsState,
setErrors,
clearErrors,
setFieldError,
clearFieldError
};
}
export { useFormErrors };
//# sourceMappingURL=use-form-errors.mjs.map

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More