import * as _angular_core from '@angular/core'; /** * Stick-on-scroll directive. Combines native CSS `position: sticky` with * an `IntersectionObserver`-driven `--affixed` state class, so consumers * can style the element differently while it's pinned (e.g. add a * shadow, change the background, shrink the height). * * The host gets `position: sticky; top: ${offsetTop}px;` inline. A tiny * sentinel `
` is inserted just before the host — when the sentinel * scrolls out of view, the host is "stuck" and gets `wr-affix--active` * + an `(wrAffixChange)` emission. * * Works inside any scroll container without configuration — CSS sticky * picks the nearest scrollable ancestor automatically. * * @example * ```html *
* *
* ``` * * ```scss * header.wr-affix.wr-affix--active { * box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); * } * ``` */ declare class WrAffix { /** Pixels from the top of the scroll container when stuck. @default 0 */ readonly offsetTop: _angular_core.InputSignalWithTransform; /** Emits `true` when the element becomes affixed, `false` when it unsticks. */ readonly affixChange: _angular_core.OutputEmitterRef; private readonly host; private readonly destroyRef; private readonly isBrowser; constructor(); static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } export { WrAffix };