@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
37 lines (36 loc) • 1.66 kB
TypeScript
import type { ESLBaseElementShape } from '../../esl-base-element/core/esl-base-element.shape';
import type { ESLCarousel } from './esl-carousel';
/**
* Tag declaration interface of {@link ESLCarousel} element
* Used for TSX declaration
*/
export interface ESLCarouselShape extends ESLBaseElementShape<ESLCarousel> {
/** Media query pattern used for {@link ESLMediaRuleList} of `type`, `loop` and `count` (default: `all`) */
media?: string;
/** Renderer type name (`multi` by default). Supports {@link ESLMediaRuleList} syntax */
type?: string;
/** Marker to enable loop mode for a carousel (`true` by default). Supports {@link ESLMediaRuleList} syntax */
loop?: string | boolean;
/** Count of slides to show on the screen (`1` by default). Supports {@link ESLMediaRuleList} syntax */
count?: string | number;
/** Orientation of the carousel (`horizontal` by default). Supports {@link ESLMediaRuleList} syntax */
vertical?: string | boolean;
/** Duration of the single slide transition */
'step-duration'?: string;
/** Container selector (supports traversing query). Carousel itself by default */
container?: string;
/** CSS class to add on the container when carousel is empty */
'container-empty-class'?: string;
/** CSS class to add on the container when carousel is incomplete */
'container-incomplete-class'?: string;
/** Plugins attributes */
[key: `esl-carousel-${string}`]: string;
}
declare global {
namespace JSX {
interface IntrinsicElements {
/** {@link ESLAnimate} custom tag */
'esl-carousel': ESLCarouselShape;
}
}
}