@ribajs/bs5
Version:
Bootstrap 5 module for Riba.js
91 lines (90 loc) • 4.33 kB
TypeScript
import { Component, TemplateFunction } from "@ribajs/core";
import { EventDispatcher } from "@ribajs/events";
import { Bs5Service } from "../../services/index.js";
import { Bs5SliderComponentScope, JsxBs5SliderProps, Bs5SliderSlide } from "../../types/index.js";
import { Dragscroll, Autoscroll, ScrollPosition, ScrollEventsService, ScrollEventDetail } from "@ribajs/extras";
export declare class Bs5SliderComponent extends Component {
protected resizeObserver?: ResizeObserver;
protected bs5: Bs5Service;
protected get sliderInner(): HTMLElement | null;
protected get slideElements(): HTMLElement[];
protected get controlsElements(): NodeListOf<Element>;
protected get indicatorsElement(): Element | null;
static EVENTS: {
scrolling: string;
scrollended: string;
};
static get observedAttributes(): (keyof JsxBs5SliderProps)[];
protected defaultScope: Bs5SliderComponentScope;
static tagName: string;
protected autobind: boolean;
protected dragscrollService?: Dragscroll;
protected continuousAutoplayService?: Autoscroll;
protected scrollEventsService?: ScrollEventsService;
protected autoplayIntervalIndex: number | null;
protected continuousAutoplayIntervalIndex: number | null;
protected resumeTimer: number | null;
protected routerEvents: EventDispatcher;
scope: Bs5SliderComponentScope;
constructor();
next(): void;
prev(): void;
protected goTo(index: number, fromRight?: boolean): number;
protected getNextIndex(currentActive: number): number;
protected getPrevIndex(currentActive: number): number;
protected scrollToNextSlide(): number;
protected scrollToPrevSlide(): number;
protected initOptions(): void;
protected setOptions(): void;
protected updateColumns(): void;
protected setControlsOptions(): void;
protected setIndicatorsOptions(): void;
protected _onViewChanges(): void;
protected onViewChanges: (...params: any[]) => Promise<any>;
protected onVisibilityChanged(event: CustomEvent): void;
protected onScroll(event: CustomEvent<ScrollEventDetail>): void;
protected onScrollEnd(event: CustomEvent<ScrollEventDetail>): void;
protected connectedCallback(): void;
protected addEventListeners(): void;
protected removeEventListeners(): void;
protected initAll(): void;
protected beforeBind(): Promise<void>;
protected afterBind(): Promise<void>;
protected afterAllBind(): Promise<void>;
protected initSlideshowInner(): void;
protected enableDesktopDragscroll(): void;
protected disableDesktopDragscroll(): void;
enableTouchScroll(): void;
disableTouchScroll(): void;
protected validateItems(): void;
updateItems(): boolean;
protected removeItem(index: number, updateIndex?: boolean): void;
protected updateItemIndexes(): void;
protected addItemByElement(slideElement: HTMLElement, index: number): void;
protected initItemsByChildren(): void;
protected getScrollPosition(): ScrollPosition | null;
protected getCurrentClosestNumber(goal: number, curr: number, prev: number): number;
protected setAllSlidesInactive(excludeIndex?: number): void;
protected setSlideActive(index: number): 0 | undefined;
protected setSlidesActive(slides: number[]): void;
protected isScrollable(): boolean;
protected getSlideElementByIndex(index: number): HTMLElement | undefined;
protected isSlideVisible(item: Bs5SliderSlide, offset: number): boolean;
protected getVisibleSlides(offset: number): number[];
protected setVisibleSlidesActive(offset: number): number[];
updateActiveSlides(offset?: number): {
firstIndex: number;
lastIndex: number;
activeSlides: number[];
prevIndex: number;
nextIndex: number;
};
protected updateSlides(offset?: number, isRetry?: boolean): number[];
protected updateControls(): void;
protected updateIndicators(): void;
protected requiredAttributes(): string[];
protected parsedAttributeChangedCallback(attributeName: keyof Bs5SliderComponentScope, oldValue: any, newValue: any, namespace: string | null): void;
protected disconnectedCallback(): void;
protected beforeTemplate(): Promise<void>;
protected template(): ReturnType<TemplateFunction>;
}