UNPKG

ember-bootstrap

Version:
123 lines (120 loc) 2.9 kB
import Component from '@glimmer/component'; import type Owner from '@ember/owner'; import type { PresentationState } from '../bs-carousel'; export type DirectionalClassName = keyof Pick<CarouselSlide, 'left' | 'right'>; export type OrderClassName = keyof Pick<CarouselSlide, 'prev' | 'next'>; export interface CarouselSlideSignature { Args: { currentSlide?: CarouselSlide; directionalClassName?: DirectionalClassName | null; followingSlide?: CarouselSlide; orderClassName?: OrderClassName | null; presentationState?: PresentationState | null; registerChild?: (slide: CarouselSlide) => void; unregisterChild?: (slide: CarouselSlide) => void; }; Blocks: { default: []; }; Element: HTMLElement; } /** A visible user-defined slide. See [Components.Carousel](Components.Carousel.html) for examples. @class CarouselSlide @namespace Components @extends Component @public */ export default class CarouselSlide extends Component<CarouselSlideSignature> { /** * @property _element * @type null | HTMLElement * @private */ _element: HTMLElement | null; /** * Defines slide visibility. * * @property active * @type boolean * @private */ active: boolean; /** * @private * @property isCurrentSlide * @type boolean */ get isCurrentSlide(): boolean; /** * @private * @property isFollowingSlide * @type boolean */ get isFollowingSlide(): boolean; /** * Slide is moving to the left. * * @property left * @type boolean * @private */ left: boolean; /** * Next to appear in a left sliding. * * @property next * @type boolean * @private */ next: boolean; /** * Next to appear in a right sliding. * * @property prev * @type boolean * @private */ prev: boolean; /** * Slide is moving to the right. * * @property right * @type boolean * @private */ right: boolean; constructor(owner: Owner, args: CarouselSlideSignature['Args']); /** * Coordinates the execution of a presentation. * * @method presentationStateObserver * @private */ presentationStateObserver(): void; /** * @method currentSlideDidTransition * @private */ currentSlideDidTransition(): void; /** * @method currentSlideWillTransit * @private */ currentSlideWillTransit(): void; /** * @method followingSlideDidTransition * @private */ followingSlideDidTransition(): void; /** * @method followingSlideWillTransit * @private */ followingSlideWillTransit(): void; /** * Makes things more stable, especially when fast changing. */ reflow(): void; }