ember-bootstrap
Version:
Bootstrap components for Ember.js
123 lines (120 loc) • 2.9 kB
TypeScript
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;
}