UNPKG

3 kBTypeScriptView Raw
1export interface VirtualMethods {
2 /**
3 * Object with cached slides HTML elements
4 */
5 cache: object;
6
7 /**
8 * Index of first rendered slide
9 */
10 from: number;
11
12 /**
13 * Index of last rendered slide
14 */
15 to: number;
16
17 /**
18 * Array with slide items passed by `virtual.slides` parameter
19 */
20 slides: any[];
21
22 /*
23 * Methods
24 */
25
26 /**
27 * Append slide. `slides` can be a single slide item or array with such slides.
28 */
29 appendSlide(slide: HTMLElement | string | HTMLElement[] | string[]): void;
30
31 /**
32 * Prepend slide. `slides` can be a single slide item or array with such slides.
33 */
34 prependSlide(slide: HTMLElement | string | HTMLElement[] | string[]): void;
35
36 /**
37 * Remove specific slide or slides. `slideIndexes` can be a number with slide index to remove or array with indexes.
38 */
39 removeSlide(slideIndexes: number[]): void;
40
41 /**
42 * Remove all slides
43 */
44 removeAllSlides(): void;
45
46 /**
47 * Update virutal slides state
48 */
49 update(force: boolean): void;
50}
51
52export interface VirtualEvents {}
53
54export interface VirtualData {
55 /**
56 * slides left/top offset in px
57 */
58 offset: number;
59 /**
60 * index of first slide required to be rendered
61 */
62 from: number;
63 /**
64 * index of last slide required to be rendered
65 */
66 to: number;
67 /**
68 * array with slide items to be rendered
69 */
70 slides: any[];
71}
72
73export interface VirtualOptions {
74 /**
75 * Array with slides
76 *
77 * @default []
78 */
79 slides?: any[];
80 /**
81 * Enables DOM cache of rendering slides html elements. Once they are rendered they will be saved to cache and reused from it.
82 *
83 * @default true
84 */
85 cache?: boolean;
86 /**
87 * Increases amount of pre-rendered slides before active slide
88 *
89 * @default 0
90 */
91 addSlidesBefore?: number;
92 /**
93 * Increases amount of pre-rendered slides after active slide
94 *
95 * @default 0
96 */
97 addSlidesAfter?: number;
98 /**
99 * Function to render slide. As an argument it accepts current slide item for `slides` array and index number of the current slide. Function must return an outter HTML of the swiper slide.
100 *
101 * @default null
102 */
103 renderSlide?: (slide: any, index: any) => any | null;
104 /**
105 * Function for external rendering (e.g. using some other library to handle DOM manipulations and state like React.js or Vue.js). As an argument it accepts `data` object with the following properties:
106 *
107 * - `offset` - slides left/top offset in px
108 * - `from` - index of first slide required to be rendered
109 * - `to` - index of last slide required to be rendered
110 * - `slides` - array with slide items to be rendered
111 *
112 * @default null
113 */
114 renderExternal?: (data: VirtualData) => any | null;
115 /**
116 * When enabled (by default) it will update Swiper layout right after renderExternal called. Useful to disable and update swiper manually when used with render libraries that renders asynchronously
117 *
118 * @default true
119 */
120 renderExternalUpdate?: boolean;
121}