UNPKG

its-just-ui

Version:

ITS Just UI - The easiest and best React UI component library. Modern, accessible, and customizable components built with TypeScript and Tailwind CSS. Simple to use, production-ready components for building beautiful user interfaces with ease.

75 lines (73 loc) 3.02 kB
import { default as React } from 'react'; export interface ListItemData { id: string; title: string; description?: string; disabled?: boolean; icon?: React.ReactNode; avatar?: React.ReactNode; badge?: React.ReactNode; action?: React.ReactNode; [key: string]: unknown; } export interface ListProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> { items?: ListItemData[]; value?: string | string[] | null; onChange?: (value: string | string[] | null) => void; variant?: 'default' | 'bordered' | 'card' | 'minimal' | 'elevated'; size?: 'sm' | 'md' | 'lg'; status?: 'default' | 'success' | 'warning' | 'error' | 'info'; disabled?: boolean; loading?: boolean; selectable?: boolean; multiple?: boolean; maxSelection?: number; label?: string; helperText?: string; required?: boolean; emptyMessage?: string; loadingMessage?: string; onItemClick?: (item: ListItemData) => void; onItemSelect?: (item: ListItemData) => void; renderItem?: (item: ListItemData, isSelected: boolean) => React.ReactNode; children?: React.ReactNode; className?: string; style?: React.CSSProperties; } interface ListContextValue { items: ListItemData[]; value: string | string[] | null; onChange: (value: string | string[] | null) => void; variant?: 'default' | 'bordered' | 'card' | 'minimal' | 'elevated'; size?: 'sm' | 'md' | 'lg'; status?: 'default' | 'success' | 'warning' | 'error' | 'info'; disabled?: boolean; loading?: boolean; selectable?: boolean; multiple?: boolean; maxSelection?: number; onItemClick?: (item: ListItemData) => void; onItemSelect?: (item: ListItemData) => void; renderItem?: (item: ListItemData, isSelected: boolean) => React.ReactNode; emptyMessage?: string; loadingMessage?: string; } export declare const useList: () => ListContextValue; declare const List: React.ForwardRefExoticComponent<ListProps & React.RefAttributes<HTMLDivElement>>; export interface ListContainerProps extends React.HTMLAttributes<HTMLDivElement> { children?: React.ReactNode; } declare const ListContainer: React.ForwardRefExoticComponent<ListContainerProps & React.RefAttributes<HTMLDivElement>>; export interface ListItemProps extends React.HTMLAttributes<HTMLDivElement> { item: ListItemData; } declare const ListItem: React.ForwardRefExoticComponent<ListItemProps & React.RefAttributes<HTMLDivElement>>; export interface ListHeaderProps extends React.HTMLAttributes<HTMLDivElement> { children?: React.ReactNode; } declare const ListHeader: React.ForwardRefExoticComponent<ListHeaderProps & React.RefAttributes<HTMLDivElement>>; export interface ListFooterProps extends React.HTMLAttributes<HTMLDivElement> { children?: React.ReactNode; } declare const ListFooter: React.ForwardRefExoticComponent<ListFooterProps & React.RefAttributes<HTMLDivElement>>; export { List, ListContainer, ListItem, ListHeader, ListFooter };