File size: 1,059 Bytes
70d8f15 66a740c a688e23 82a88c5 4c98241 e3d3deb edd7dca 9bde4cc 86da344 70d8f15 eb375ea d656141 eb375ea 66a740c 4c98241 e3d3deb c38b220 edd7dca 9bde4cc 86da344 a688e23 66a740c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import { DriveStep } from "./driver";
export type Config = {
animate?: boolean;
backdropColor?: string;
smoothScroll?: boolean;
allowClose?: boolean;
opacity?: number;
stagePadding?: number;
stageRadius?: number;
popoverOffset?: number;
showButtons?: boolean;
onHighlightStarted?: (element: Element | undefined, step: DriveStep) => void;
onHighlighted?: (element: Element | undefined, step: DriveStep) => void;
onDeselected?: (element: Element | undefined, step: DriveStep) => void;
};
let currentConfig: Config = {};
export function configure(config: Config = {}) {
currentConfig = {
animate: true,
allowClose: true,
opacity: 0.7,
smoothScroll: false,
stagePadding: 10,
stageRadius: 5,
popoverOffset: 10,
showButtons: true,
backdropColor: "#000",
...config,
};
}
export function getConfig(): Config;
export function getConfig<K extends keyof Config>(key: K): Config[K];
export function getConfig<K extends keyof Config>(key?: K) {
return key ? currentConfig[key] : currentConfig;
}
|