import { ISlottable } from '../../../Behaviors/Slottable'; import { Orientation } from '../../../Types/Orientation'; import { SelectorElement } from '../Abstracts/Selector/SelectorElement'; import { ICarousel2ElementProps } from './ICarousel2ElementProps'; declare const Carousel2Element_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Slottable").ISlottableProps & ISlottable) & (abstract new () => SelectorElement) & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Carousel 2 - An interactive slideshow component for cycling through a collection of content items. * * @description * The Carousel 2 component provides a modern slideshow interface for displaying multiple items in a * rotating sequence. It supports both horizontal and vertical orientations, automatic playback, * navigation controls, and page indicators. The carousel can display multiple items simultaneously * and supports circular looping for continuous navigation. It includes features like customizable * number of visible items, scroll amounts, and ARIA labels for accessibility. * * @name Carousel 2 * @element mosaik-carousel-2 * @category Selectors * * @slot - The default slot for carousel items (mosaik-carousel-item-2 elements) * @slot header - Optional header content displayed above the carousel * @slot footer - Optional footer content displayed below the carousel * @slot previous-icon - Custom icon for the previous navigation button * @slot next-icon - Custom icon for the next navigation button * * @csspart content - The main carousel content container * @csspart indicators - The page indicator dots container * * @dependency {CarouselItem2Element} - Individual carousel item component * * @fires connected {ConnectedEvent} - Fired when the carousel is connected to the DOM * @fires changed {PropertyChangedEvent} - Fired when carousel properties change * * @example * Basic carousel with multiple items: * ```html * * Slide 1 * Slide 2 * Slide 3 * Slide 4 * * ``` * * @example * Vertical carousel with autoplay: * ```html * * Content 1 * Content 2 * Content 3 * * ``` * * @example * Circular carousel with navigation: * ```html * * Item A * Item B * Item C * * ``` * * @public */ export declare class Carousel2Element extends Carousel2Element_base implements ISlottable { private _page; private _numVisible; private _numScroll; private _orientation; private _circular; private _showIndicators; private _showNavigators; private _autoplayInterval; private _totalShiftedItems; private readonly _remainingItems; private _interval; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @override * @readonly */ static get is(): string; /** * Gets or sets the `page` property. * * @public * @attr */ get page(): number; set page(value: number); /** * Gets or sets the `numVisible` property. * * @public * @attr */ get numVisible(): number; set numVisible(value: number); /** * Gets or sets the `numScroll` property. * * @public * @attr */ get numScroll(): number; set numScroll(value: number); /** * Gets or sets the `orientation` property. * * @public * @attr */ get orientation(): Orientation; set orientation(value: Orientation); /** * Gets or sets the `circular` property. * * @public * @attr */ get circular(): boolean; set circular(value: boolean); /** * Gets or sets the `showIndicators` property. * * @public * @attr */ get showIndicators(): boolean; set showIndicators(value: boolean); /** * Gets or sets the `showNavigators` property. * * @public * @attr */ get showNavigators(): boolean; set showNavigators(value: boolean); /** * Gets or sets the `autoplayInterval` property. * * @public * @attr */ get autoplayInterval(): number; set autoplayInterval(value: number); onSlotChanges(slotName?: string): void; firstUpdated(): void; updated(changedProperties: Map): void; disconnectedCallback(): void; isVertical(): boolean; private isCircular; isForwardNavDisabled(): boolean; isBackwardNavDisabled(): boolean; ariaPrevButtonLabel(): string; ariaNextButtonLabel(): string; private ariaSlideLabel; private ariaSlideNumber; ariaPageLabel(value: number): string; navForward(): void; navBackward(): void; onDotClick(index: number): void; onTransitionEnd(): void; private startAutoplay; private stopAutoplay; private step; totalDots(): number; } /** * @public */ export declare namespace Carousel2Element { type Props = ICarousel2ElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-carousel-2': Carousel2Element; } } export {}; //# sourceMappingURL=Carousel2Element.d.ts.map