{"version":3,"file":"index.mjs","sources":["../../../src/lib/ux/index.ts"],"sourcesContent":["/**\n * @file UX Module\n * @description User experience utilities for React applications.\n *\n * Provides loading states, skeleton loading, optimistic updates,\n * error recovery, accessibility, responsive design, and animations.\n */\n\nimport { loadingStateStyles } from './loading-states';\nimport { errorRecoveryStyles } from './error-recovery-ui';\nimport { accessibilityStyles } from './accessibility-enhancer';\nimport { responsiveStyles } from './responsive-optimizer';\n\n// ============================================================================\n// Loading States\n// ============================================================================\nexport {\n  // Components\n  LoadingProvider,\n  LoadingIndicator,\n  ProgressiveLoader,\n  ProgressBar,\n  // Hooks\n  useLoading,\n  useOptionalLoading,\n  useLoadingState,\n  // Styles\n  loadingStateStyles,\n  // Types\n  type LoadingState,\n  type LoadingPhase,\n  type LoadingConfig,\n  type LoadingContextValue,\n  type LoadingProviderProps,\n  type LoadingIndicatorProps,\n  type ProgressiveLoaderProps,\n  type ProgressBarProps,\n} from './loading-states';\n\n// ============================================================================\n// Skeleton Factory\n// ============================================================================\nexport {\n  // Class\n  SkeletonFactory,\n  // Factory functions\n  getSkeletonFactory,\n  resetSkeletonFactory,\n  // Convenience functions\n  createTextSkeleton,\n  createParagraphSkeleton,\n  createCardSkeleton,\n  createListSkeleton,\n  createTableSkeleton,\n  // Types\n  type SkeletonElementType,\n  type SkeletonAnimation,\n  type SkeletonElement,\n  type SkeletonPattern,\n  type SkeletonFactoryConfig,\n  // type SkeletonCSS,\n} from './skeleton-factory';\n\n// ============================================================================\n// Optimistic UI\n// ============================================================================\nexport {\n  // Classes\n  OptimisticUpdateManager,\n  OptimisticListManager,\n  // Factory functions\n  createOptimisticManager,\n  createOptimisticListManager,\n  // Utilities\n  applyOptimistic,\n  mergeWithConflictResolution,\n  serverWinsResolver,\n  clientWinsResolver,\n  lastWriteWinsResolver,\n  // Types\n  type OptimisticStatus,\n  type OptimisticUpdate,\n  type OptimisticResult,\n  type OptimisticConfig,\n  type MutationFn,\n  type OptimisticUpdater,\n  type ConflictResolver,\n  type UpdateListener,\n} from './optimistic-ui';\n\n// ============================================================================\n// Error Recovery UI\n// ============================================================================\nexport {\n  // Components\n  ErrorRecovery,\n  OfflineRecovery,\n  DegradedState,\n  // Utilities\n  classifyError,\n  isRetryable,\n  getUserMessage,\n  getRecoverySuggestions,\n  createErrorInfo,\n  // Styles\n  errorRecoveryStyles,\n  // Types\n  type ErrorSeverity,\n  type ErrorCategory,\n  type ErrorInfo,\n  type RecoveryAction,\n  type ErrorRecoveryProps,\n  type OfflineRecoveryProps,\n  type DegradedStateProps,\n} from './error-recovery-ui';\n\n// ============================================================================\n// Accessibility Enhancer\n// ============================================================================\nexport {\n  // Initialization\n  initAnnouncer,\n  installSkipLinks,\n  // Announcements\n  announce,\n  announceAssertive,\n  announceRouteChange,\n  announceLoading,\n  announceError,\n  announceSuccess,\n  // Focus management\n  getFocusableElements,\n  getFirstFocusable,\n  getLastFocusable,\n  focusFirst,\n  focusLast,\n  createFocusTrap,\n  createRovingTabindex,\n  createSkipLink,\n  // ARIA utilities\n  setExpanded,\n  setPressed,\n  setSelected,\n  setBusy,\n  setDisabled,\n  setHidden,\n  generateAriaId,\n  // Reduced motion\n  prefersReducedMotion,\n  onReducedMotionChange,\n  getSafeAnimationDuration,\n  // Color contrast\n  getLuminance,\n  getContrastRatio,\n  checkContrast,\n  hexToRgb,\n  // Styles\n  accessibilityStyles,\n  // Types\n  type AnnouncementPriority,\n  type FocusTrapOptions,\n  type FocusTrapController,\n  type RovingTabindexOptions,\n  type SkipLinkOptions,\n  type ContrastResult,\n} from './accessibility-enhancer';\n\n// ============================================================================\n// Responsive Optimizer\n// ============================================================================\nexport {\n  // Classes\n  ResponsiveManager,\n  // Factory functions\n  getResponsiveManager,\n  resetResponsiveManager,\n  // Container queries\n  createContainerQueryObserver,\n  // Image utilities\n  generateSrcSet,\n  generateSizes,\n  getOptimalImageWidth,\n  // Adaptive loading\n  getAdaptiveLoadingRecommendations,\n  // Constants\n  DEFAULT_BREAKPOINTS,\n  // Styles\n  responsiveStyles,\n  // Types\n  type Breakpoint,\n  type DeviceCapabilities,\n  type ViewportInfo,\n  type ResponsiveConfig,\n  type MediaQueryCondition,\n  type ResponsiveCallback,\n  type ContainerQueryCondition,\n  type AdaptiveLoadingConfig,\n} from './responsive-optimizer';\n\n// ============================================================================\n// Animation Orchestrator\n// ============================================================================\nexport {\n  // Class\n  AnimationOrchestrator,\n  // Factory function\n  getAnimationOrchestrator,\n  // Convenience functions\n  animate,\n  animateSequence,\n  animateStagger,\n  animateSpring,\n  // Constants\n  EASING,\n  PRESETS,\n  // Types\n  type TimingFunction,\n  type AnimationState,\n  type AnimationOptions,\n  type AnimationKeyframe,\n  type SequenceItem,\n  type StaggerOptions,\n  type AnimationController,\n  type IntersectionAnimationOptions,\n} from './animation-orchestrator';\n\n// ============================================================================\n// Convenience Initialization\n// ============================================================================\n\nimport { initAnnouncer, installSkipLinks } from './accessibility-enhancer';\nimport { getResponsiveManager, type ResponsiveConfig } from './responsive-optimizer';\nimport { getSkeletonFactory, type SkeletonFactoryConfig } from './skeleton-factory';\nimport { getAnimationOrchestrator } from './animation-orchestrator';\n\n/**\n * UX system configuration\n */\nexport interface UXSystemConfig {\n  /** Initialize accessibility features */\n  initAccessibility?: boolean;\n  /** Install skip links */\n  installSkipLinks?: boolean;\n  /** Responsive manager config */\n  responsive?: ResponsiveConfig;\n  /** Skeleton factory config */\n  skeleton?: Partial<SkeletonFactoryConfig>;\n}\n\n/**\n * Initialize the UX system\n */\nexport function initUXSystem(config: UXSystemConfig = {}): {\n  responsive: ReturnType<typeof getResponsiveManager>;\n  skeleton: ReturnType<typeof getSkeletonFactory>;\n  animation: ReturnType<typeof getAnimationOrchestrator>;\n} {\n  // Initialize accessibility\n  if (config.initAccessibility !== false) {\n    initAnnouncer();\n  }\n\n  // Install skip links\n  if (config.installSkipLinks !== false) {\n    installSkipLinks();\n  }\n\n  return {\n    responsive: getResponsiveManager(config.responsive),\n    skeleton: getSkeletonFactory(config.skeleton),\n    animation: getAnimationOrchestrator(),\n  };\n}\n\n/**\n * Get combined CSS for all UX components\n */\nexport function getUXStyles(): string {\n  return `\n    /* Loading States */\n    ${loadingStateStyles}\n\n    /* Error Recovery */\n    ${errorRecoveryStyles}\n\n    /* Accessibility */\n    ${accessibilityStyles}\n\n    /* Responsive */\n    ${responsiveStyles}\n\n    /* Skeleton Factory */\n    ${getSkeletonFactory().generateCSS()}\n  `;\n}\n\n// ============================================================================\n// Agent 7 PhD-Level UX Additions\n// ============================================================================\n\n// Auto-Setup System\nexport {\n  // Class\n  AutoSetup,\n  // Functions\n  autoSetup,\n  getAutoSetup,\n  resetAutoSetup,\n  detectEnvironment,\n  detectAvailableFeatures,\n  composeProviders,\n  // Hook\n  useAutoSetup,\n  // Types\n  type Environment,\n  type EnvironmentInfo,\n  type AutoSetupFeatures,\n  type ProviderConfig,\n  type AutoSetupConfig,\n  type AutoSetupResult,\n} from './auto-setup';\n\n// Smart Defaults System\nexport {\n  // Class\n  SmartDefaultsManager,\n  // Detection\n  detectDeviceTier,\n  detectNetworkTier,\n  detectUserPreferences,\n  // Functions\n  getSmartDefaults,\n  setSmartDefaultsOverrides,\n  resetSmartDefaults,\n  // Hooks\n  useSmartDefaults,\n  useAnimationDefaults,\n  useImageDefaults,\n  useFetchDefaults,\n  usePerformanceDefaults,\n  useRenderDefaults,\n  useConditionalFeature,\n  // Types\n  type DeviceTier as SmartDeviceTier,\n  type NetworkTier as SmartNetworkTier,\n  type UserPreferences,\n  type AnimationDefaults,\n  type ImageDefaults,\n  type FetchDefaults,\n  type PerformanceDefaults,\n  type RenderDefaults,\n  type SmartDefaults,\n  type SmartDefaultsOverrides,\n} from './smart-defaults';\n\n// Progressive Enhancement System\nexport {\n  // Provider and Components\n  ProgressiveEnhancementProvider,\n  CapabilityGate,\n  FeatureGate,\n  // Types\n  type CapabilityLevel,\n  type BrowserCapabilities,\n  type FeatureDefinition,\n  type FeatureStatus,\n  type ProgressiveEnhancementProviderProps,\n} from './progressive-enhancement';\n\nexport {\n  // Hooks\n  useProgressiveEnhancement,\n  useProgressiveFeature,\n  useCapability,\n  useCapabilities,\n  useCapabilityConditional,\n} from './progressive-enhancement-hooks';\n\nexport {\n  // Detection and Utilities\n  detectCapabilities,\n  getCapabilities,\n  checkWebPSupport,\n  checkAVIFSupport,\n  createFeature,\n} from './progressive-enhancement-utils';\n\nexport type { ProgressiveEnhancementContextValue } from '../contexts/ProgressiveEnhancementContext';\n\n// Error Recovery UX System\nexport {\n  // Class\n  RecoveryEngine,\n  // Classification\n  classifyRecoveryError,\n  getUserFriendlyErrorMessage,\n  // Utilities\n  createRecoveryEngine,\n  executeWithRecovery,\n  // Hooks\n  useRecovery,\n  useCircuitBreaker,\n  useNetworkAwareRecovery,\n  // Types\n  type RecoveryErrorSeverity,\n  type RecoveryStrategy,\n  type RecoveryState,\n  type RecoveryProgress,\n  type ErrorClassification,\n  type RecoveryOptions,\n  type CircuitBreakerState,\n} from './error-recovery-ux';\n\n// Automatic Accessibility System\nexport {\n  // Classes\n  AutoAccessibility,\n  FocusManager,\n  ARIAEnhancer,\n  // Initialization\n  initAutoAccessibility,\n  getAutoAccessibility,\n  resetAutoAccessibility,\n  // Detection\n  detectAccessibilityPreferences,\n  // Utilities\n  adaptMotion,\n  // Hooks\n  useAccessibilityPreferences,\n  useFocusTrap,\n  useAnnounce,\n  useKeyboardNavigation,\n  // Types\n  type AccessibilityPreferences,\n  type FocusManagementOptions,\n  type ARIAEnhancementRule,\n  type AutoAccessibilityConfig,\n} from './accessibility-auto';\n"],"names":["initUXSystem","config","initAnnouncer","installSkipLinks","getResponsiveManager","getSkeletonFactory","getAnimationOrchestrator","getUXStyles","loadingStateStyles","errorRecoveryStyles","accessibilityStyles","responsiveStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4PO,SAASA,EAAaC,IAAyB,IAIpD;AAEA,SAAIA,EAAO,sBAAsB,MAC/BC,EAAAA,GAIED,EAAO,qBAAqB,MAC9BE,EAAAA,GAGK;AAAA,IACL,YAAYC,EAAqBH,EAAO,UAAU;AAAA,IAClD,UAAUI,EAAmBJ,EAAO,QAAQ;AAAA,IAC5C,WAAWK,EAAAA;AAAAA,EAAyB;AAExC;AAKO,SAASC,IAAsB;AACpC,SAAO;AAAA;AAAA,MAEHC,CAAkB;AAAA;AAAA;AAAA,MAGlBC,CAAmB;AAAA;AAAA;AAAA,MAGnBC,CAAmB;AAAA;AAAA;AAAA,MAGnBC,CAAgB;AAAA;AAAA;AAAA,MAGhBN,EAAAA,EAAqB,YAAA,CAAa;AAAA;AAExC;"}