UNPKG

ui-next-library

Version:
78 lines (68 loc) 2.23 kB
declare module "ui-next-library" { import { ComponentType, FC, InputHTMLAttributes, ButtonHTMLAttributes, ReactNode, HTMLAttributes } from "react"; interface TextProps extends InputHTMLAttributes<HTMLInputElement> { Icon?: ComponentType<any>; iconPosition?: "left" | "right"; iconClassName?: string; error?: boolean; errorMessage?: string; register?: Function; registerOptions?: object; } interface EmailProps extends TextProps { errorMessage?: string; } interface PasswordProps extends TextProps { showPasswordIcon?: boolean; requireValidation?: boolean; customValidationMessage?: string; } interface NumberProps extends TextProps { decimals?: number; requiredMessage?: string; } interface ButtonBaseProps extends ButtonHTMLAttributes<HTMLButtonElement> { children?: ReactNode; } interface SubmitProps extends ButtonBaseProps { isLoading?: boolean; loadingtext?: string; showLoadingIcon?: boolean; loadingIcon?: ComponentType<any>; color?: "blue" | "green" | "red" | "gray"; fullWidth?: boolean; size?: "sm" | "md" | "lg"; height?: string; children?: ReactNode; } interface ContainerElementsProps extends HTMLAttributes<HTMLDivElement> { title?: string; width?: string; height?: string; titlePosition?: "left" | "center" | "right"; backgroundColor?: string; rounded?: string; shadow?: string; shadowColor?: "black" | "white"; shadowIntensity?: "light" | "normal" | "strong"; border?: boolean; borderColor?: string; padding?: string; gap?: string; titleClassName?: string; bodyClassName?: string; children?: ReactNode; } interface SpinnerProps { className?: string; size?: string; } export const Text: FC<TextProps>; export const Email: FC<EmailProps>; export const Password: FC<PasswordProps>; export const Number: FC<NumberProps>; export const ButtonBase: FC<ButtonBaseProps>; export const Submit: FC<SubmitProps>; export const ContainerElements: FC<ContainerElementsProps>; export const Spinner: FC<SpinnerProps>; }