/**
 * Shared app-wide UI components (Sorbet Studio design system).
 *
 * Neutral import path for the design-system primitives that grew up in the
 * dashboard and are now app-wide conventions. The implementation files still
 * live in components/dashboard/shared/ (single physical source); import from
 * HERE outside the dashboard so pages don't depend on a dashboard path.
 *
 * @example
 * import { SectionHeader, StatCard, DashboardTable, TABLE_STYLES } from "@/components/shared";
 */

export {
  DashboardSectionHeader,
  DashboardSectionHeader as SectionHeader,
  DashboardSectionHeaderSkeleton,
  type DashboardSectionHeaderProps,
} from "@/components/dashboard/shared/DashboardSectionHeader";

export {
  DashboardEmptyState,
  DashboardErrorState,
  DashboardLoadingState,
  type DashboardEmptyStateProps,
  type DashboardErrorStateProps,
} from "@/components/dashboard/shared/DashboardStates";

export {
  DashboardBadge,
  StatusBadge,
  TrendBadge,
  type BadgeVariant,
  type StatusType,
} from "@/components/dashboard/shared/DashboardBadge";

export {
  DashboardTable,
  SimpleTable,
  type DashboardTableProps,
  type TableColumn,
  type SimpleTableProps,
} from "@/components/dashboard/shared/DashboardTable";

export {
  MetricPill,
  LegendChip,
  QuietStat,
  PILL_TRIGGER_CLASS,
  PILL_BUTTON_CLASS,
} from "@/components/dashboard/shared/StudioControls";

export {
  DashboardStatCard,
  DashboardStatCard as StatCard,
  DashboardStatCardSkeleton,
  TrendPill,
  type DashboardStatCardProps,
} from "@/components/dashboard/shared/DashboardStatCard";

export {
  ChartSkeleton,
  TableSkeleton,
  StatCardSkeleton,
} from "@/components/dashboard/shared/DashboardSkeleton";

export {
  CARD_STYLES,
  TYPOGRAPHY,
  SPACING,
  MOTION,
  SCROLL_STYLES,
  TREND_COLORS,
  FINANCIAL_COLORS,
  METRIC_COLORS,
  METRIC_COLORS_HSL,
  STATUS_COLORS,
  STAT_ICON_STYLES,
  TABLE_STYLES,
  BADGE_STYLES,
  getTrendColor,
  getIconColorVariant,
} from "@/lib/dashboard/designTokens";
