embla-carousel-angular
Version:
Angular wrapper for Embla Carousel
31 lines (30 loc) • 2.09 kB
TypeScript
import { DestroyRef, ElementRef, NgZone } from '@angular/core';
import { EmblaCarouselType, EmblaEventType } from 'embla-carousel';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class EmblaCarouselDirective {
protected _globalOptions: Partial<import("embla-carousel/components/Options").OptionsType> | undefined;
protected _ngZone: NgZone;
protected _elementRef: ElementRef<HTMLElement>;
protected _destroyRef: DestroyRef;
options: import("@angular/core").InputSignal<Partial<import("embla-carousel/components/Options").OptionsType>>;
plugins: import("@angular/core").InputSignal<import("embla-carousel").CreatePluginType<import("embla-carousel/components/Plugins").LoosePluginType, {}>[]>;
subscribeToEvents: import("@angular/core").InputSignal<EmblaEventType[]>;
eventsThrottleTime: import("@angular/core").InputSignal<number>;
readonly emblaChange: import("@angular/core").OutputEmitterRef<EmblaEventType>;
protected _destroy$: Subject<void>;
private storedOptions;
private storedPlugins;
emblaApi?: EmblaCarouselType;
constructor();
scrollTo(...args: Parameters<EmblaCarouselType['scrollTo']>): void;
scrollPrev(...args: Parameters<EmblaCarouselType['scrollPrev']>): void;
scrollNext(...args: Parameters<EmblaCarouselType['scrollNext']>): void;
reInit(): void;
/**
* `eventsThrottler$` Subject was made just because `scroll` event fires too often.
*/
private listenEvents;
static ɵfac: i0.ɵɵFactoryDeclaration<EmblaCarouselDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<EmblaCarouselDirective, "[emblaCarousel]", ["emblaCarousel"], { "options": { "alias": "options"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "subscribeToEvents": { "alias": "subscribeToEvents"; "required": false; "isSignal": true; }; "eventsThrottleTime": { "alias": "eventsThrottleTime"; "required": false; "isSignal": true; }; }, { "emblaChange": "emblaChange"; }, never, never, true, never>;
}