turash/bugulma/frontend/components/ui/index.ts
2025-12-15 10:06:41 +01:00

180 lines
4.4 KiB
TypeScript

/**
* UI Primitive Components
*
* Centralized exports for all UI primitive components.
* These components are designed to be reusable, accessible, and responsive.
*/
// Table components (div-based for better responsiveness)
export {
ResponsiveTable,
Table,
TableBody,
TableCell,
TableEmpty,
TableHead,
TableHeader,
TableRow,
type ResponsiveTableProps,
type TableBodyProps,
type TableCellProps,
type TableEmptyProps,
type TableHeaderProps,
type TableHeadProps,
type TableProps,
type TableRowProps,
} from './Table';
// Dialog/Modal components
export {
Dialog,
DialogClose,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
type DialogCloseProps,
type DialogContentProps,
type DialogDescriptionProps,
type DialogFooterProps,
type DialogHeaderProps,
type DialogProps,
type DialogTitleProps,
} from './Dialog';
// Pagination
export { Pagination, type PaginationProps } from './Pagination';
// Breadcrumbs
export { Breadcrumbs, type BreadcrumbItem, type BreadcrumbsProps } from './Breadcrumbs';
// Toast/Notification system
export {
Toast,
ToastContainer,
useToast,
type ToastContainerProps,
type ToastProps,
type ToastType,
} from './Toast';
// Switch/Toggle
export { Switch, type SwitchProps } from './Switch';
// Progress indicator
export { Progress, type ProgressProps } from './Progress';
// Empty state
export { EmptyState, type EmptyStateProps, type EmptyStateType } from './EmptyState';
// Confirm dialog
export { ConfirmDialog, type ConfirmDialogProps } from './ConfirmDialog';
// Search bar
export { SearchBar, type SearchBarProps } from './SearchBar';
// Status indicator
export { StatusIndicator, type StatusIndicatorProps, type StatusVariant } from './StatusIndicator';
// Avatar
export { Avatar, type AvatarProps } from './Avatar';
// Dropdown menu
export {
DropdownMenu,
SelectDropdown,
type DropdownMenuItem,
type DropdownMenuProps,
type SelectDropdownProps,
} from './DropdownMenu';
// Tooltip
export { Tooltip, type TooltipProps } from './Tooltip';
// Radio group
export { RadioGroup, type RadioGroupProps, type RadioOption } from './RadioGroup';
// Form field
export { FormField, type FormFieldProps } from './FormField';
// Accordion
export { Accordion, type AccordionItem, type AccordionProps } from './Accordion';
// Alert
export { Alert, type AlertProps, type AlertVariant } from './Alert';
// Sheet/Drawer
export {
Sheet,
SheetClose,
SheetContent,
SheetDescription,
SheetFooter,
SheetHeader,
SheetTitle,
type SheetCloseProps,
type SheetContentProps,
type SheetDescriptionProps,
type SheetFooterProps,
type SheetHeaderProps,
type SheetProps,
type SheetTitleProps,
} from './Sheet';
// Popover
export { Popover, type PopoverProps } from './Popover';
// Checkbox Group
export { CheckboxGroup, type CheckboxGroupProps, type CheckboxOption } from './CheckboxGroup';
// Combobox
export { Combobox, type ComboboxOption, type ComboboxProps } from './Combobox';
// Slider
export { Slider, type SliderProps } from './Slider';
// Label
export { Label, type LabelProps } from './Label';
// Kbd (Keyboard shortcut display)
export { Kbd, type KbdProps } from './Kbd';
// Typography components
export {
Heading,
Price,
Text,
type HeadingLevel,
type HeadingProps,
type PriceProps,
type TextProps,
type TextVariant,
type TranslationReplacements,
} from './Typography';
// Loading state
export { LoadingState, type LoadingStateProps } from './LoadingState';
// Activity card
export { ActivityCard, type ActivityCardProps } from './ActivityCard';
// Price display
export { PriceDisplay, type PriceDisplayProps, type PriceType } from './PriceDisplay';
// Centered content
export { CenteredContent, type CenteredContentProps } from './CenteredContent';
// Re-export existing components for convenience
export { default as Badge } from './Badge';
export { default as Button } from './Button';
export { Card, CardContent, CardDescription, CardHeader, CardTitle } from './Card';
export { default as Checkbox, type CheckboxProps } from './Checkbox';
export { default as Input } from './Input';
export { default as Select } from './Select';
export { default as Separator } from './Separator';
export { default as Skeleton } from './Skeleton';
export { default as Spinner } from './Spinner';
export { Tabs, TabsContent, TabsList, TabsTrigger } from './Tabs';
export { default as Textarea } from './Textarea';