react-transition-preset
Version:
Lightweight, zero-dependency transition component for React with common preset transition
51 lines (48 loc) • 1.1 kB
JavaScript
import { defaults } from './utils.js';
// src/global-config.ts
var defaultConfig = {
transition: "fade",
duration: 0.2,
keepMounted: false,
enterDelay: 0,
exitDelay: 0,
timingFunction: "ease",
initial: false,
reduceMotion: false
};
var GlobalConfig = class {
static config = defaultConfig;
/**
* 设置全局配置
*/
static set(props) {
this.config = this.addDefaults(props);
return this.config;
}
/**
* 从全局配置中合并配置,
* 外部配置优先级高于全局配置,
* 并不会改变全局配置
*/
static merge(props) {
const mergedValue = this.addDefaults(props);
return mergedValue;
}
/**
* 给配置添加默认值
*/
static addDefaults(props) {
const value = defaults(props, this.config);
if (value.exitDuration === void 0) {
value.exitDuration = value.duration;
}
return value;
}
static reset() {
this.config = defaultConfig;
}
};
function setGlobalConfig(props) {
GlobalConfig.set.call(GlobalConfig, props);
}
export { GlobalConfig, defaultConfig, setGlobalConfig };