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

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":"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"}

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":"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"}

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":"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"}

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;;"}