/** * Fluent Grow Layout - Positioning Module * --------------------------------------- * Provides a fluent API for advanced positioning scenarios including anchor * positioning, sticky behaviours, and responsive overrides. */ import { type LengthValue, type ResponsiveInput, type ResponsiveOptions } from './shared'; export type PositionMode = 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'; export interface OffsetConfig { top?: LengthValue; right?: LengthValue; bottom?: LengthValue; left?: LengthValue; inset?: LengthValue | LengthValue[]; } export interface PositioningConfig extends OffsetConfig { mode?: PositionMode; zIndex?: number; pointerEvents?: CSSStyleDeclaration['pointerEvents']; anchorName?: string; anchorReference?: 'auto' | 'none' | 'initial'; anchorOffset?: LengthValue; translate?: { x?: LengthValue; y?: LengthValue; }; transform?: string; layer?: string; contain?: string; } export type PositioningResponsiveMap = ResponsiveInput; export declare class Positioning { private element; private defaults; private cleanupFns; constructor(element: HTMLElement, defaults?: PositioningConfig); set(config: PositioningConfig): this; mode(mode: PositionMode, offsets?: OffsetConfig): this; absolute(offsets?: OffsetConfig): this; relative(offsets?: OffsetConfig): this; fixed(offsets?: OffsetConfig): this; sticky(offsets?: OffsetConfig): this; static(): this; zIndex(value: number): this; anchor(options: { name: string; offset?: LengthValue; reference?: PositioningConfig['anchorReference']; }): this; translate(x?: LengthValue, y?: LengthValue): this; center(axis?: 'both' | 'x' | 'y', strategy?: 'transform' | 'margin'): this; pin(options: PositioningConfig): this; layer(name: string, zIndex: number): this; contain(value: string): this; responsive(responsive: PositioningResponsiveMap, options?: ResponsiveOptions): this; destroy(): void; private apply; private applyOffset; private formatSeries; private registerCleanup; } //# sourceMappingURL=positioning.d.ts.map