UNPKG

mantine-entity

Version:

A library combining Mantine, TanStack Query, and Mantine React Table for efficient entity management

25 lines (24 loc) 919 B
/* eslint-disable @typescript-eslint/no-empty-object-type */ /* eslint-disable @typescript-eslint/no-explicit-any */ import * as React from "react"; import { useFormContext, get, } from "react-hook-form"; const ErrorMessage = ({ as, errors, name, message, render, ...rest }) => { const methods = useFormContext(); const error = get(errors || methods.formState.errors, name); if (!error) { return null; } const { message: messageFromRegister, types } = error["root"] ?? error; const props = Object.assign({}, rest, { children: messageFromRegister || message, }); return React.isValidElement(as) ? React.cloneElement(as, props) : render ? render({ message: messageFromRegister || message, messages: types, }) : React.createElement(as || React.Fragment, props); }; export { ErrorMessage };