privatedocs/src/types/index.ts

52 lines
1.0 KiB
TypeScript

import { FormEventHandler, ReactNode } from "react";
import { ZodSchema } from "zod";
export interface FloatingLabelInputProps {
label: string;
placeholder?: string;
type: 'text' | 'password' | 'select' | 'email' | 'number';
options?: string[];
button?: React.ReactNode;
showPasswordToggle?: boolean;
name: string;
defaultValue?: string;
}
export interface FormProps {
title?: string,
fields: FloatingLabelInputProps[],
submit: (param: any) => unknown,
className: string,
child: ReactNode,
schema: ZodSchema
}
export interface StatsType {
id: number;
title: string;
value: number | undefined;
icon: string;
color: string;
}
export interface Stats {
companies: number
documents: number
users: number
documents_size: number
}
export interface Company {
id: string
name: string
is_premium: boolean
status: string
owner: Owner
}
export interface Owner {
id: string
first_name: string
email: string
last_name: string
}