UNPKG

its-just-ui

Version:

ITS Just UI - React 18 & React 19 UI component library. 36+ accessible, TypeScript-native components with Tailwind CSS. Zero-config Material UI alternative for SaaS dashboards and enterprise apps.

169 lines (167 loc) 5.87 kB
import { default as React } from 'react'; export interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> { type?: 'single' | 'multiple'; defaultValue?: string | string[]; value?: string | string[]; onValueChange?: (value: string | string[]) => void; disabled?: boolean; collapsible?: boolean; variant?: 'default' | 'bordered' | 'filled' | 'separated' | 'outlined'; size?: 'sm' | 'md' | 'lg'; status?: 'default' | 'success' | 'warning' | 'error'; transition?: 'none' | 'fade' | 'slide' | 'collapse' | 'zoom' | 'smooth'; transitionDuration?: number; expandIcon?: React.ReactNode; expandIconPosition?: 'start' | 'end'; loading?: boolean; loadingMessage?: string; emptyMessage?: string; backgroundColor?: string; borderWidth?: string; borderColor?: string; borderStyle?: string; borderRadius?: string; padding?: string; paddingX?: string; paddingY?: string; gap?: string; boxShadow?: string; fontSize?: string; fontWeight?: string; fontFamily?: string; textColor?: string; itemBackgroundColor?: string; itemHoverBackgroundColor?: string; itemActiveBackgroundColor?: string; itemBorderWidth?: string; itemBorderColor?: string; itemBorderStyle?: string; itemBorderRadius?: string; itemPadding?: string; itemPaddingX?: string; itemPaddingY?: string; itemBoxShadow?: string; itemGap?: string; triggerBackgroundColor?: string; triggerHoverBackgroundColor?: string; triggerActiveBackgroundColor?: string; triggerTextColor?: string; triggerHoverTextColor?: string; triggerActiveTextColor?: string; triggerFontSize?: string; triggerFontWeight?: string; triggerPadding?: string; triggerPaddingX?: string; triggerPaddingY?: string; triggerBorderRadius?: string; contentBackgroundColor?: string; contentTextColor?: string; contentFontSize?: string; contentPadding?: string; contentPaddingX?: string; contentPaddingY?: string; contentBorderWidth?: string; contentBorderColor?: string; contentBorderStyle?: string; focusRingColor?: string; focusRingWidth?: string; focusRingOffset?: string; focusRingOffsetColor?: string; focusBorderColor?: string; focusBackgroundColor?: string; focusBoxShadow?: string; iconSize?: string; iconColor?: string; iconHoverColor?: string; iconActiveColor?: string; iconRotation?: string; dividerColor?: string; dividerWidth?: string; dividerStyle?: string; successColor?: string; warningColor?: string; errorColor?: string; children: React.ReactNode; } interface AccordionContextValue { value: string[]; onItemToggle: (itemValue: string) => void; disabled?: boolean; variant?: 'default' | 'bordered' | 'filled' | 'separated' | 'outlined'; size?: 'sm' | 'md' | 'lg'; status?: 'default' | 'success' | 'warning' | 'error'; transition?: 'none' | 'fade' | 'slide' | 'collapse' | 'zoom' | 'smooth'; transitionDuration?: number; expandIcon?: React.ReactNode; expandIconPosition?: 'start' | 'end'; loading?: boolean; itemBackgroundColor?: string; itemHoverBackgroundColor?: string; itemActiveBackgroundColor?: string; itemBorderWidth?: string; itemBorderColor?: string; itemBorderStyle?: string; itemBorderRadius?: string; itemPadding?: string; itemPaddingX?: string; itemPaddingY?: string; itemBoxShadow?: string; itemGap?: string; triggerBackgroundColor?: string; triggerHoverBackgroundColor?: string; triggerActiveBackgroundColor?: string; triggerTextColor?: string; triggerHoverTextColor?: string; triggerActiveTextColor?: string; triggerFontSize?: string; triggerFontWeight?: string; triggerPadding?: string; triggerPaddingX?: string; triggerPaddingY?: string; triggerBorderRadius?: string; contentBackgroundColor?: string; contentTextColor?: string; contentFontSize?: string; contentPadding?: string; contentPaddingX?: string; contentPaddingY?: string; contentBorderWidth?: string; contentBorderColor?: string; contentBorderStyle?: string; focusRingColor?: string; focusRingWidth?: string; focusRingOffset?: string; focusRingOffsetColor?: string; focusBorderColor?: string; focusBackgroundColor?: string; focusBoxShadow?: string; iconSize?: string; iconColor?: string; iconHoverColor?: string; iconActiveColor?: string; iconRotation?: string; dividerColor?: string; dividerWidth?: string; dividerStyle?: string; successColor?: string; warningColor?: string; errorColor?: string; } export declare const useAccordion: () => AccordionContextValue; declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>; export interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> { value: string; disabled?: boolean; children: React.ReactNode; } export interface AccordionTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> { children: React.ReactNode; } declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>; export interface AccordionContentProps extends React.HTMLAttributes<HTMLDivElement> { children: React.ReactNode; forceMount?: boolean; } declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>; declare const AccordionItemWrapper: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>; export { Accordion, AccordionItemWrapper as AccordionItem, AccordionTrigger, AccordionContent };