@ynmstudio/utils
Version:
YNM Utilities for Angular
46 lines (45 loc) • 1.78 kB
TypeScript
import { InjectionToken } from '@angular/core';
import { ScrollSpyService } from '../scroll-spy-service/scroll-spy.service';
import * as i0 from "@angular/core";
import * as i1 from "@ynmstudio/utils/inviewport";
export declare const SCROLL_SPY_INTERSECTION_OBSERVER_INIT: InjectionToken<IntersectionObserverInit>;
/**
* A component to wrap section content within that will update the
* `ScrollSpyService` when it's in view
*
* @example
* ```html
* <section sn-scroll-spy-section id="section1" for="foo">
* ...
* </section>
* ```
*/
export declare class ScrollSpySectionDirective {
private scrollSpySvc;
/**
* Identifies the section
*
* @memberof ScrollSpySectionComponent
*/
id: string;
/**
* Specifies which `ScrollSpy` instance to update
*
* @memberof ScrollSpySectionComponent
*/
for: string;
/**
* Creates an instance of ScrollSpySectionComponent.
* @memberof ScrollSpySectionComponent
*/
constructor(scrollSpySvc: ScrollSpyService);
/**
* Updates `ScrollSpy` section when element enters/leaves viewport
*
* @memberof ScrollSpySectionComponent
*/
onInViewportChange(inViewport: boolean): void;
inViewportOptions: IntersectionObserverInit | null;
static ɵfac: i0.ɵɵFactoryDeclaration<ScrollSpySectionDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollSpySectionDirective, "[sn-scroll-spy-section]", never, { "id": { "alias": "id"; "required": false; }; "for": { "alias": "for"; "required": false; }; "inViewportOptions": { "alias": "inViewportOptions"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.InViewportDirective; inputs: {}; outputs: { "inViewportChange": "inViewportChange"; }; }]>;
}