import React from "react"; import tw from "twin.macro"; import { useField as useFormikField, useFormikContext, FieldHookConfig } from "formik"; //const useFormikField = null; //const useFormikContext = ()=>{}; export function useField(props){ let getField = useFormikField; const context = useFormikContext(); if(!context){ getField = (propsOrFieldName: FieldHookConfig)=>{ return [props, null, null]; } } return getField(props); } export default function Input( props: React.InputHTMLAttributes & { label?: React.ComponentPropsWithoutRef<"label">; title?: string; children?: React.ReactNode; className?: string; } ) { /*name, id*/ const [field, meta, helpers] = useField(props); return (
{props.title && ( )} {/*name={name || title} id={id || name || title}*/} {props.children} {meta?.touched && meta.error ? (
{meta.error}
) : null}
); } export function TextArea({ label, title, children, ...props }) { const [field, meta, helpers] = useField(props); return (
{title && ( )}