/** * @fileoverview Layouts Module - Main Barrel Export * * Provides comprehensive layout systems for React applications: * * ## Adaptive Layouts (@/lib/layouts/adaptive) * - Content-aware layout computation * - FLIP-based morph transitions * - Constraint-based layout solving * - CLS (Cumulative Layout Shift) prevention * * ## Context-Aware Layouts (@/lib/layouts/context-aware) * - DOM ancestry tracking and propagation * - Viewport-relative positioning * - Scroll container awareness * - Portal context bridging * - Z-index management * * @example * ```tsx * import { * // Adaptive layouts * AdaptiveLayout, * AdaptiveGrid, * MorphTransition, * useAdaptiveLayout, * * // Context-aware layouts * DOMContextProvider, * ContextAwareBox, * useViewportPosition, * } from '@defendr/enzyme/layouts'; * ``` * * @module layouts * @version 1.0.0 * @license MIT */ export type { LayoutMode, TransitionDirection, ContentDensity, ConstraintPriority, EasingFunction, GPUAcceleratedProperty, Point2D, Dimensions, BoundingBox, BoxSpacing, LayoutRect, LayoutEngineConfig, ContentAnalysis, AspectRatioDistribution, LayoutState, GridLayoutConfig, ListLayoutConfig, LayoutComputeRequest, LayoutComputeResult, MorphTransitionConfig, FLIPSnapshot, Transform3D, AnimationContext, MorphState, PendingTransition, LayoutConstraint, ConstraintType, ConstraintParams, MinMaxConstraintParams, AspectRatioConstraintParams, AlignmentConstraintParams, SpacingConstraintParams, OrderConstraintParams, VisibilityConstraintParams, ContainmentConstraintParams, ConstraintSolution, ConstraintViolation, CLSGuardConfig, ReservationStrategy, LayoutReservation, CLSMeasurement, LayoutShiftEntry, AdaptiveLayoutProps, AdaptiveGridProps, AdaptiveStackProps, AdaptiveContainerProps, ContainerBreakpoints, MorphTransitionProps, UseAdaptiveLayoutReturn, UseLayoutModeReturn, UseLayoutMorphReturn, UseContentDensityReturn, UseCLSGuardReturn, AdaptiveLayoutContextValue, LayoutEngineInterface, MorphControllerInterface, CLSGuardInterface, ConstraintSolverInterface, UserLayoutPreferences, AnimationPreferences, AccessibilityPreferences, LayoutPerformanceMetrics, PerformanceBudget as AdaptivePerformanceBudget, } from './adaptive'; export { DEFAULT_LAYOUT_ENGINE_CONFIG, DEFAULT_MORPH_TRANSITION_CONFIG, DEFAULT_CLS_GUARD_CONFIG, DEFAULT_PERFORMANCE_BUDGET, } from './adaptive'; export { LayoutEngine, createLayoutEngine, getSharedLayoutEngine, resetSharedLayoutEngine, MorphController, createMorphController, createElementFLIP, performFLIP, ConstraintSolver, createConstraintSolver, CLSGuard, createCLSGuard, predictCLSImpact, createOptimizedReservations, } from './adaptive'; export { AdaptiveLayout, AdaptiveLayoutContext, useAdaptiveLayoutContext, AdaptiveGrid, AdaptiveStack, HStack, VStack, ResponsiveStack, AdaptiveContainer, ContainerContext, useContainerContext, useContainerQuery, useContainerValue, MorphTransition, AnimatedPresence, } from './adaptive'; export { useAdaptiveLayout, useLayoutMode, useLayoutMorph, useContentDensity, useCLSGuard, useIsLayoutMode, useLayoutModeValue, useMorphElement, useDensityThreshold, useImageReservation, useCLSMonitor, } from './adaptive'; export type { UseAdaptiveLayoutOptions, UseLayoutModeOptions, UseLayoutMorphOptions, UseContentDensityOptions, UseCLSGuardOptions, } from './adaptive'; export type { LayoutType, PositionType, OverflowType, FlexDirection, GridAutoFlow, DimensionValue, DimensionBounds, LayoutConstraints, ComputedBounds, LayoutAncestor, FlexContainerProperties, GridContainerProperties, VisibilityState, ScrollDirection, ViewportInfo, ViewportPosition, ScrollContainer, StickyState, PortalContext, DOMContextSnapshot, ZIndexLayer, ZIndexContext, DOMContext, ContextAwareComponentProps, DOMContextProviderProps, ContextAwareBoxProps, PortalBridgeProps, ScrollAwareContainerProps, ViewportAnchorProps, UseDOMContextReturn, UseLayoutAncestryReturn, UseViewportPositionReturn, UseScrollContextReturn, UsePortalContextReturn, DOMContextChangeEvent, ScrollEventDetail, ContextTrackingConfig, } from './context-aware'; export { Z_INDEX_LAYERS, DEFAULT_TRACKING_CONFIG, isDefined, isLayoutType, isPositionType, isScrollContainer, } from './context-aware'; export { DOMContextTracker, getDOMContextTracker, findAncestorByType, findScrollContainerAncestor, findContainingBlockAncestor, computeInheritedConstraints, isWithinLayoutType, getLayoutDepth, ViewportTracker, getViewportTracker, getViewport, onViewportChange, isElementInViewport, getViewportPosition, getDistanceFromViewportCenter, getOptimalScrollPosition, ScrollTracker, ScrollContainerRegistry, getScrollContainerRegistry, findScrollContainer, createScrollTracker, PortalContextManager, getPortalContextManager, createPortalContext, destroyPortalContext, getPortalContextForElement, isInPortal, getPortalHierarchy, ZIndexManager, getZIndexManager, registerZIndex, unregisterZIndex, getLayerZIndex, bringToFront, sendToBack, } from './context-aware'; export type { ViewportChangeCallback, VisibilityChangeCallback, VisibilityObserverOptions, ScrollCallback, ScrollEdgeCallback, StickyCallback, ScrollTrackingOptions, PortalContextOptions, PortalLifecycleCallback, BridgedEventHandler, ZIndexRegistration, ZIndexRegistrationOptions, ZIndexChangeCallback, } from './context-aware'; export { DOMContextProvider, DOMContextReactContext, DOMContextUpdateContext, DOMContextConsumer, useDOMContextValue, useDOMContextRefresh, withDOMContext, NestedDOMContextProvider, useDOMContextSelector, ContextAwareBox, FlexBox, GridBox, PortalBridge, usePortalBridgeContext, ModalPortal, TooltipPortal, PopoverPortal, ScrollAwareContainer, useScrollContainerContext, useScrollControl, ViewportAnchor, LazyLoad, StickyHeader, ScrollTrigger, } from './context-aware'; export type { DOMContextConsumerProps, WithDOMContextProps, NestedDOMContextProviderProps, PolymorphicContextAwareBoxProps, BoxContext, OnContextReadyCallback, FlexBoxProps, GridBoxProps, ModalPortalProps, TooltipPortalProps, PopoverPortalProps, ExtendedScrollAwareContainerProps, ExtendedViewportAnchorProps, LazyLoadProps, StickyHeaderProps, ScrollTriggerProps, } from './context-aware'; export { useDOMContext, useDOMContextWithElement, useContextSelector, useContextEffect, useLayoutAncestry, useFlexAncestor, useGridAncestor, useScrollContainerAncestor, useContainingBlockAncestor, useIsInFlex, useIsInGrid, useIsInInline, useAvailableWidth, useAvailableHeight, useParentAspectRatio, useViewportPosition, useVisibility, useIntersectionRatio, useDistanceFromViewport, useDistanceFromCenter, useViewport, useViewportDimensions, useViewportScroll, useIsTouch, useOrientation, useSafeAreaInsets, useScrollContext, useScrollContainer, useScrollDirection, useScrollProgress, useIsScrolling, useScrollEdges, useScrollPosition, useScrollVelocity, useScrollToTop, useScrollToBottom, useScrollIntoView, usePortalContext, useIsInPortal, useSourceContext, usePortalNestingDepth, usePortalHierarchy, useZIndexForLayer, useZIndexContext, useZIndexRegistration, useZIndexLayers, } from './context-aware'; export type { DOMContextSelector } from './context-aware';