UNPKG

2.59 kBTypeScriptView Raw
1import { CSSSelector } from '../shared';
2
3interface CreativeEffectTransform {
4 translate?: (string | number)[];
5 rotate?: number[];
6 opacity?: number;
7 scale?: number;
8 shadow?: boolean;
9 origin?: string;
10}
11
12export interface CreativeEffectMethods {}
13
14export interface CreativeEffectEvents {}
15
16export interface CreativeEffectOptions {
17 /**
18 * Previous slide transformations. Accepts object of the following type:
19 *
20 * @example
21 * ```js
22 * {
23 * // Array with translate X, Y and Z values
24 * translate: (string | number)[];
25 * // Array with rotate X, Y and Z values (in deg)
26 * rotate?: number[];
27 * // Slide opacity
28 * opacity?: number;
29 * // Slide scale
30 * scale?: number;
31 * // Enables slide shadow
32 * shadow?: boolean;
33 * // Transform origin, e.g. `left bottom`
34 * origin?: string;
35 * }
36 * ```
37 *
38 */
39 prev?: CreativeEffectTransform;
40 /**
41 * Next slide transformations.
42 *
43 * @example
44 * ```js
45 * {
46 * // Array with translate X, Y and Z values
47 * translate: (string | number)[];
48 * // Array with rotate X, Y and Z values (in deg)
49 * rotate?: number[];
50 * // Slide opacity
51 * opacity?: number;
52 * // Slide scale
53 * scale?: number;
54 * // Enables slide shadow
55 * shadow?: boolean;
56 * // Transform origin, e.g. `left bottom`
57 * origin?: string;
58 * }
59 * ```
60 *
61 */
62 next?: CreativeEffectTransform;
63 /**
64 * CSS selector of the element inside of the slide to transform instead of the slide itself. Useful to use with cssMode
65 *
66 * @default null
67 */
68 transformEl?: CSSSelector;
69 /**
70 * Limit progress/offset to amount of side slides. If `1`, then slides all slides after prev/next will have same state. If `2`, then all slides after 2nd before/after active will have same state, etc.
71 *
72 * @default 1
73 */
74 limitProgress?: number;
75 /**
76 * Splits shadow "opacity" per slide based on `limitProgress` (only if transformation shadows enabled). E.g. setting `limitProgress: 2` and enabling `shadowPerProgress`, will set shadow opacity to `0.5` and `1` on two slides next to active. With this parameter disabled, all slides beside active will have shadow with `1` opacity
77 *
78 * @default false
79 */
80 shadowPerProgress?: boolean;
81 /**
82 * Allows to multiply slides transformations and opacity.
83 *
84 * @default 1
85 */
86 progressMultiplier?: number;
87 /**
88 * Enable this parameter if your custom transforms require 3D transformations (`translateZ`, `rotateX`, `rotateY` )
89 *
90 * @default true
91 */
92 perspective?: boolean;
93}