UNPKG

3.02 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 virtual 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 enabled?: boolean;
75 /**
76 * Array with slides
77 *
78 * @default []
79 */
80 slides?: any[];
81 /**
82 * Enables DOM cache of rendering slides html elements. Once they are rendered they will be saved to cache and reused from it.
83 *
84 * @default true
85 */
86 cache?: boolean;
87 /**
88 * Increases amount of pre-rendered slides before active slide
89 *
90 * @default 0
91 */
92 addSlidesBefore?: number;
93 /**
94 * Increases amount of pre-rendered slides after active slide
95 *
96 * @default 0
97 */
98 addSlidesAfter?: number;
99 /**
100 * 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.
101 *
102 * @default null
103 */
104 renderSlide?: (slide: any, index: any) => any | null;
105 /**
106 * 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:
107 *
108 * - `offset` - slides left/top offset in px
109 * - `from` - index of first slide required to be rendered
110 * - `to` - index of last slide required to be rendered
111 * - `slides` - array with slide items to be rendered
112 *
113 * @default null
114 */
115 renderExternal?: (data: VirtualData) => any | null;
116 /**
117 * 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
118 *
119 * @default true
120 */
121 renderExternalUpdate?: boolean;
122}