@theaimegroup/aime-component-library
Version:
AIME Component Library
140 lines (139 loc) • 3.22 kB
TypeScript
import { ReactElement } from "react";
export interface Styles {
backgroundColor: string;
color: string;
fontFamily?: string;
}
export interface DisplayPropertiesConditions {
value: string;
styles: Styles;
}
export interface DisplayProperties {
displayType: string;
styles: Styles;
conditions: DisplayPropertiesConditions[];
}
export interface Col {
name: string;
type: string;
value: string;
isPrimary: boolean;
isForeignKey: boolean;
hasManyRelationship?: boolean;
isRequired?: boolean;
staticDropDown?: StaticDropDown[];
tableName?: string;
cols?: string[];
placeholder?: string;
returnColumn?: string;
displayColumns?: string[];
displayProperties?: DisplayProperties;
}
export declare enum RecordDisplayType {
Table = 0,
Grid = 1
}
export declare enum AddEditDisplayType {
Modal = 0,
Drawer = 1,
Simple = 2
}
export interface GridCardDisplayType {
titleCol: string;
bodyCol: string;
noOfCols: number;
imageCol?: string;
}
export interface Panel {
title: string;
panels: string[];
}
export interface TableType {
primaryColor: string;
secondaryColor: string;
isModal: boolean;
title?: string;
tablename: string;
colorRow?: string;
bgRow?: string;
fontFamily?: string;
fontSizeRow?: string;
fontSizeHeader?: string;
fontWeightRow?: string;
showAllBorders?: boolean;
showRoundedTitle?: boolean;
showControls?: boolean;
showSearch?: boolean;
showPagination?: boolean;
showBackground?: boolean;
selectableRows?: boolean;
col: Col[];
panels: Panel[];
addEditDisplayType: AddEditDisplayType;
recordsDisplayType: RecordDisplayType;
searchByCol: string[];
gridCardDisplay?: GridCardDisplayType;
}
export interface inputCardProps {
title: string;
onChange: any;
noOfCols: number;
inputs: FieldProp[];
}
interface FieldProp {
label: string;
spacing: string;
placeholder: string;
}
export interface Colors {
primary: string;
secondary: string;
}
export interface Input {
value: string;
placeholder: string;
onChange: any;
}
export interface StaticDropDown {
value: any;
label: any;
}
export interface BabbuMenuItems {
label: string;
icon: any;
path: any;
onClick: any;
}
export interface Offer {
open: any;
close: any;
title: string;
logo: string;
offerImage: string;
productName: string;
description: string;
validity: string;
redeem: any;
}
export interface MessagingType extends Colors {
messageTable: string;
messageCol: Col[];
userTable: string;
userCol: Col[];
}
export interface ConversationType extends Colors {
id: any;
title: string;
shortMessage: string;
selected?: boolean;
onConvoSelect?: any;
}
export interface CustomSearchType extends Input {
records: any[];
filterCols: string[];
}
export interface GridLayoutType {
col: number;
gridLayoutComponents: ReactElement<any, any>[];
}
export {};