mantine-entity
Version:
A library combining Mantine, TanStack Query, and Mantine React Table for efficient entity management
18 lines (17 loc) • 1.38 kB
TypeScript
import * as React from "react";
import { FieldErrors, FieldName, Message, MultipleFieldErrors } from "react-hook-form";
type Assign<T extends object, U extends object> = T & Omit<U, keyof T>;
export type FieldValuesFromFieldErrors<TFieldErrors> = TFieldErrors extends FieldErrors<infer TFieldValues> ? TFieldValues : never;
type AsProps<TAs> = TAs extends undefined ? {} : TAs extends React.ReactElement ? Record<string, any> : TAs extends React.ComponentType<infer P> ? Omit<P, "children"> : TAs extends keyof React.JSX.IntrinsicElements ? React.JSX.IntrinsicElements[TAs] : never;
export type Props<TFieldErrors extends FieldErrors, TAs extends undefined | React.ReactElement | React.ComponentType<any> | keyof React.JSX.IntrinsicElements> = Assign<{
as?: TAs;
errors?: TFieldErrors;
name: FieldName<FieldValuesFromFieldErrors<TFieldErrors>>;
message?: Message;
render?: (data: {
message: Message;
messages?: MultipleFieldErrors;
}) => React.ReactNode;
}, AsProps<TAs>>;
declare const ErrorMessage: <TFieldErrors extends FieldErrors, TAs extends undefined | React.ReactElement | React.ComponentType<any> | keyof React.JSX.IntrinsicElements = undefined>({ as, errors, name, message, render, ...rest }: Props<TFieldErrors, TAs>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
export { ErrorMessage };