dojo-fe-shared
Version:
Shared React component library for Dojo FE (SuperAdmin, Admin, Student/Contact)
341 lines (316 loc) • 10.5 kB
TypeScript
import React$1, { FC, ReactNode, CSSProperties } from 'react';
import * as react_jsx_runtime from 'react/jsx-runtime';
import { DateObject } from 'react-multi-date-picker';
import { Control, FieldErrors } from 'react-hook-form';
type DynamicObject = {
[key: string]: any;
};
interface Option {
label: string;
value: string | number;
}
interface DetailData {
label: string;
value: string | number;
}
interface Tag$1 {
name: string;
rankName?: string;
}
interface AccordionItemProps {
title: string;
children: ReactNode;
description: string;
}
declare const AccordionItem: FC<AccordionItemProps>;
interface AttachmentButtonProps {
setAttachments: React$1.Dispatch<React$1.SetStateAction<File[]>>;
icon?: any;
isMulti?: boolean;
}
declare const AttachmentButton: React$1.FC<AttachmentButtonProps>;
interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
className?: string;
children: React$1.ReactNode;
}
declare const Button: React$1.FC<ButtonProps>;
interface ButtonDatePickerProps {
buttonText: string;
className?: string;
buttonclassName?: string;
onChangeCallbackProps?: (date: DateObject[]) => void;
allowDateRange?: boolean;
}
declare const ButtonDatePicker: ({ buttonText, className, buttonclassName, allowDateRange, onChangeCallbackProps, }: ButtonDatePickerProps) => react_jsx_runtime.JSX.Element;
interface CheckBoxItem$1 {
label: string;
value: string | number;
description?: string;
}
interface CheckBoxPropsWithoutMulti extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "defaultValue"> {
name: string;
control: Control<any>;
errors: FieldErrors;
labelText?: string;
labelDescription?: string;
defaultValue?: boolean;
className?: string;
isMulti?: boolean;
checkBoxList?: CheckBoxItem$1[];
loginCheckBox?: boolean;
}
interface CheckBoxPropsWithMulti$1 extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "defaultValue"> {
name: string;
control?: Control<any>;
errors?: FieldErrors;
labelText?: string;
labelDescription?: string;
defaultValue?: boolean;
className?: string;
isMulti: true;
checkBoxList: CheckBoxItem$1[];
loginCheckBox?: boolean;
}
type CommonCheckBoxProps$1 = CheckBoxPropsWithoutMulti | CheckBoxPropsWithMulti$1;
declare const CommonCheckBox: React$1.FC<CommonCheckBoxProps$1>;
declare const CommonColorField: React$1.FC<CommonTextFieldProps$1>;
interface CommonTextFieldProps$1 extends React$1.InputHTMLAttributes<HTMLInputElement> {
name?: string;
control?: Control<any>;
errors?: DynamicObject;
labelText?: React$1.ReactNode | string;
onClick?: () => void;
labelClass?: string;
required?: boolean;
disabled?: boolean;
translation?: string;
icon?: any;
beforeOnchange?: (e: any) => void;
iconPosition?: 'left' | 'right';
}
declare const CommonPasswordField: React$1.FC<CommonPasswordFieldProps>;
interface CommonPasswordFieldProps {
name: string;
control: Control<any>;
errors: DynamicObject;
labelText?: React$1.ReactNode | string;
className?: string;
required?: boolean;
disabled?: boolean;
width?: CSSProperties["width"];
placeholder?: string;
translation?: string;
limit?: number;
labelClass?: string;
}
interface CommonPinInputProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
name?: string;
control?: Control<any>;
errors?: DynamicObject;
labelText?: React$1.ReactNode | string;
onClick?: () => void;
labelClass?: string;
required?: boolean;
disabled?: boolean;
translation?: string;
icon?: any;
iconPosition?: 'left' | 'right';
discountValue?: string;
beforeOnchange?: (e: any) => void;
inputRef?: React$1.RefObject<HTMLInputElement>;
onKeyDown?: (e: React$1.KeyboardEvent<HTMLInputElement>) => void;
}
declare const CommonPinInput: React$1.ForwardRefExoticComponent<CommonPinInputProps & React$1.RefAttributes<HTMLInputElement>>;
interface CheckBoxItem {
label: string;
value: string | number;
description: string;
}
interface CheckBoxPropsWithMulti extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'defaultValue'> {
name: string;
labelText: string;
labelDescription?: string;
className?: string;
isMulti?: Boolean;
checkBoxList?: CheckBoxItem[];
disabledCheckbox?: boolean;
}
type CommonCheckBoxProps = CheckBoxPropsWithMulti;
declare const CommonSimpleCheckBox: React$1.FC<CommonCheckBoxProps>;
interface ICommonEditorProps {
name: string;
control: Control<any>;
}
declare const CommonTextEditor: ({ name, control }: ICommonEditorProps) => react_jsx_runtime.JSX.Element;
declare const CommonTextField: React$1.FC<CommonTextFieldProps>;
interface CommonTextFieldProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
name?: string;
control?: Control<any>;
errors?: DynamicObject;
labelText?: React$1.ReactNode | string;
onClick?: () => void;
labelClass?: string;
required?: boolean;
disabled?: boolean;
translation?: string;
icon?: any;
iconPosition?: "left" | "right";
discountValue?: string;
beforeOnchange?: (e: any) => void;
step?: string;
onlyAlphabet?: boolean;
wrapperClassName?: string;
}
declare const CustomSpinner: () => react_jsx_runtime.JSX.Element;
interface DashboardStatsComparisonChipProps {
growthPercentage?: number;
className?: string;
growthAgainstText?: string;
direction?: 'column' | 'row';
}
declare function DashboardStatsComparisonChip({ growthPercentage, growthAgainstText, direction, className, }: DashboardStatsComparisonChipProps): react_jsx_runtime.JSX.Element;
interface ModalProps {
open: boolean;
onClose: () => void;
children: React$1.ReactNode;
className?: string;
}
declare const Modal: React$1.FC<ModalProps>;
interface SuccessCardProps {
imageSrc: string;
imageAlt?: string;
text: string;
subText?: string;
buttonText: string;
onClick: () => void;
}
declare const SuccessCard: React$1.FC<SuccessCardProps>;
interface PaginationProps {
page: number;
totalPages: number;
handleNext: any;
handleBack: any;
searchParams?: URLSearchParams;
setSearchParams?: (params: URLSearchParams) => void;
rowsperpage?: boolean;
perPageOptions?: {
label: string;
value: number;
}[];
defaultRowsPerPage?: number;
}
declare const Pagination: React$1.FC<PaginationProps>;
interface NoDataFoundProps {
notFoundClassName?: string;
}
declare const NoDataFound: React.FC<NoDataFoundProps>;
interface EnhancedTableProps {
columns: any;
data: DynamicObject[];
onRowClick?: () => void;
isLoading?: boolean;
onLoadMore?: () => void;
isFetchingNextPage?: boolean;
columnsSelection?: boolean;
customSelection?: string[];
customSelectionMngmnt?: (ids: string | string[], checked?: boolean) => void;
showPagination: boolean;
currentPage: number;
totalPages: number;
className?: string;
notFoundClassName?: string;
handleNext: any;
handleBack: any;
rowsperpage?: boolean;
rowsPerPageOptions?: {
label: string;
value: number;
}[];
defaultRowsPerPage?: any;
}
interface EnhancedTablePropsWithoutPagination {
columns: any;
data: DynamicObject[];
onRowClick?: any;
isLoading?: boolean;
onLoadMore?: any;
columnsSelection?: boolean;
customSelection?: string[];
customSelectionMngmnt?: (ids: string | string[], checked?: boolean) => void;
showPagination: boolean;
currentPage?: number;
totalPages?: number;
className?: string;
notFoundClassName?: string;
handleNext?: any;
handleBack?: any;
rowsperpage?: boolean;
rowsPerPageOptions?: {
label: string;
value: number;
}[];
defaultRowsPerPage?: any;
}
type ConditionalEnhancedTableProps = EnhancedTableProps | EnhancedTablePropsWithoutPagination;
declare const EnhancedTable: React$1.FC<ConditionalEnhancedTableProps>;
interface Tag {
name: string;
}
interface TagCellProps {
tags: Tag[];
}
declare const TagCell: React$1.FC<TagCellProps>;
interface Step {
title: string;
description: string;
icon: React.ElementType;
}
declare const CommonStepper: ({ currentStep, steps, className, }: {
currentStep: number;
steps: Step[];
className?: string;
}) => react_jsx_runtime.JSX.Element;
interface DraggableEnhancedTableProps {
columns: any;
data: DynamicObject[];
onRowClick?: any;
handleDragEnd?: (dragInfo: any) => void;
isLoading?: boolean;
onLoadMore?: any;
isFetchingNextPage?: boolean;
columnsSelection?: boolean;
showPagination: boolean;
currentPage: number;
className?: string;
totalPages: number;
handlePageChange: (currentPage: number) => void;
renderRowSubComponent?: any;
isExpanded: boolean;
isExpandable: boolean;
handleNext?: () => void;
handleBack?: () => void;
isDragDisabled?: boolean;
}
interface DraggableEnhancedTablePropsWithoutPagination {
columns: any;
data: DynamicObject[];
onRowClick?: () => void;
handleDragEnd?: (dragInfo: any) => void;
isLoading?: boolean;
columnsSelection?: boolean;
showPagination: boolean;
currentPage?: number;
totalPages?: number;
handlePageChange: (currentPage: number) => void;
renderRowSubComponent?: any;
isExpandable: boolean;
handleNext: () => void;
handleBack: () => void;
className?: string;
isDragDisabled?: boolean;
}
type ConditionalDraggableEnhancedTableProps = DraggableEnhancedTableProps | DraggableEnhancedTablePropsWithoutPagination;
declare const DraggableEnhancedTable: React$1.FC<ConditionalDraggableEnhancedTableProps>;
type ToastTypes = 'default' | 'error' | 'success' | 'warning' | 'info';
declare function showToaster(message: string, variant: ToastTypes): void;
export { AccordionItem, AttachmentButton, Button, ButtonDatePicker, ButtonProps, CommonCheckBox, CommonColorField, CommonPasswordField, CommonPinInput, CommonSimpleCheckBox, CommonStepper, CommonTextEditor, CommonTextField, CustomSpinner, DashboardStatsComparisonChip, DetailData, DraggableEnhancedTable, DynamicObject, EnhancedTable, Modal, ModalProps, NoDataFound, Option, Pagination, SuccessCard, Tag$1 as Tag, TagCell, showToaster };