/**
 * Primitives adapter for @bytelyst/ui components.
 *
 * This file re-exports shared UI components from @bytelyst/ui, providing a single
 * import point for the tracker-web application. All app code should import from this
 * adapter rather than directly from @bytelyst/ui to enable future UI-drift ratcheting.
 *
 * @see docs/roadmaps/UX_INTEGRATION_BYTELYST.md (UX-1)
 */

export { Button, type ButtonProps } from '@bytelyst/ui';

export { Input, type InputProps } from '@bytelyst/ui';

export {
  Field,
  FieldContent,
  FieldDescription,
  FieldError,
  FieldGroup,
  FieldLabel,
  FieldTitle,
  type FieldContentProps,
  type FieldDescriptionProps,
  type FieldErrorProps,
  type FieldGroupProps,
  type FieldLabelProps,
  type FieldProps,
  type FieldTitleProps,
} from '@bytelyst/ui';

export { Modal, type ModalProps } from '@bytelyst/ui';

export { ConfirmDialog, type ConfirmDialogProps } from '@bytelyst/ui';

export { Badge, type BadgeProps } from '@bytelyst/ui';

export { StatusBadge, StatusDot, type StatusBadgeProps, type StatusTone } from '@bytelyst/ui';

export { EmptyState, type EmptyStateProps } from '@bytelyst/ui';

export {
  Skeleton,
  SkeletonGroup,
  TableSkeleton,
  type SkeletonProps,
  type SkeletonGroupProps,
} from '@bytelyst/ui';

export { MetricCard, type MetricCardProps } from '@bytelyst/ui';

export {
  Toast,
  ToastProvider,
  useToast,
  toast,
  dismissToast,
  type ToastMessage,
} from '@bytelyst/ui';

// ── UX-9.1: broaden the adapter with the shared controls later waves need ──
// App code imports only from this adapter (preserves the UI-drift ratchet, CC.6).

export { Select, type SelectProps } from '@bytelyst/ui';

export { Textarea, type TextareaProps } from '@bytelyst/ui';

export { Checkbox, type CheckboxProps } from '@bytelyst/ui';

export { Switch, type SwitchProps } from '@bytelyst/ui';

export { RadioGroup, RadioGroupItem, type RadioGroupItemProps } from '@bytelyst/ui';

export {
  Tooltip,
  TooltipContent,
  TooltipProvider,
  TooltipTrigger,
  type TooltipContentProps,
} from '@bytelyst/ui';

export {
  Tabs,
  TabsContent,
  TabsList,
  TabsTrigger,
  type TabsContentProps,
  type TabsListProps,
  type TabsTriggerProps,
} from '@bytelyst/ui';

export {
  SegmentedControl,
  type SegmentedControlOption,
  type SegmentedControlProps,
} from '@bytelyst/ui';

export {
  DropdownMenu,
  DropdownMenuContent,
  DropdownMenuGroup,
  DropdownMenuItem,
  DropdownMenuLabel,
  DropdownMenuRadioGroup,
  DropdownMenuSeparator,
  DropdownMenuSub,
  DropdownMenuSubTrigger,
  DropdownMenuTrigger,
  type DropdownMenuContentProps,
  type DropdownMenuItemProps,
  type DropdownMenuLabelProps,
} from '@bytelyst/ui';

export { Drawer, type DrawerProps } from '@bytelyst/ui';

export { ActionMenu, type ActionMenuItem, type ActionMenuProps } from '@bytelyst/ui';

export { IconButton, type IconButtonProps } from '@bytelyst/ui';

export { AlertBanner, type AlertBannerProps, type AlertBannerTone } from '@bytelyst/ui';

export { Card, CardHeader, CardTitle, CardDescription, type CardProps } from '@bytelyst/ui';

export {
  Panel,
  PanelBody,
  PanelDescription,
  PanelHeader,
  PanelTitle,
  type PanelBodyProps,
  type PanelDescriptionProps,
  type PanelHeaderProps,
  type PanelProps,
  type PanelTitleProps,
} from '@bytelyst/ui';

export { Separator, type SeparatorProps } from '@bytelyst/ui';

export {
  DataList,
  DataListItem,
  DataListMeta,
  type DataListItemProps,
  type DataListMetaProps,
  type DataListProps,
} from '@bytelyst/ui';

export { Timeline, type TimelineItem, type TimelineProps } from '@bytelyst/ui';

// ── UX-8: AppShell nav shell ──────────────────────────────────────────────
export {
  AppShell,
  AppShellMain,
  AppShellMobileToggle,
  AppShellNav,
  AppShellNavItem,
  AppShellOverlay,
  AppShellPageHeader,
  AppShellSidebar,
  AppShellSkipLink,
  type AppShellMainProps,
  type AppShellMobileToggleProps,
  type AppShellNavItemProps,
  type AppShellNavProps,
  type AppShellOverlayProps,
  type AppShellPageHeaderProps,
  type AppShellProps,
  type AppShellSidebarProps,
  type AppShellSkipLinkProps,
} from '@bytelyst/ui';
