Files
metabuilder/components/radix/index.ts
johndoe6345789 3ad0ca1bc7 feat(components): Add notifications, status indicators, and keyboard shortcuts
New shared components for cross-project reuse:

**vanilla/notifications/**
- NotificationContainer - renders notification list (Redux-agnostic)
- NotificationItem - individual notification with auto-dismiss
- useNotificationState - local state hook for notifications
- Supports success/error/warning/info types
- Configurable position (top-left, top-right, bottom-*, etc.)

**vanilla/status-indicators/**
- StatusBadge - generic status badge with variants
- ConnectionStatus - connected/disconnected indicator
- BackendStatus - multi-state backend indicator (connected/local/connecting/error)
- All with proper ARIA labels and CSS animations

**radix/dialogs/**
- KeyboardShortcutsContent - generic shortcuts display
- ShortcutRow - single shortcut key + description row
- getPlatformModifier - detects ⌘ vs Ctrl
- createShortcut - helper for platform-aware shortcuts
- Accepts shortcuts as props (not hardcoded)

All components follow accessibility best practices with data-testid,
ARIA attributes, and reduced-motion support.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 09:08:48 +00:00

26 lines
746 B
TypeScript

/**
* Radix UI Components
*
* Components built on top of @radix-ui primitives (shadcn style).
* These provide accessible, unstyled components with Tailwind CSS styling.
*
* Add Radix-based components here as they are created.
*/
// Dialog components
export {
KeyboardShortcutsContent,
ShortcutRow,
getPlatformModifier,
createShortcut,
type ShortcutItem,
type ShortcutCategory,
type KeyboardShortcutsDialogProps,
} from './dialogs/KeyboardShortcutsDialog'
// Placeholder exports - add more Radix components as they are created
// Example:
// export { Dialog, DialogContent, DialogHeader, DialogFooter } from './dialog'
// export { Button } from './button'
// export { DropdownMenu, DropdownMenuItem } from './dropdown-menu'