react-native-micro-interactions
Version:
Effortlessly enhance your React Native components with subtle micro-interactions and animations.
69 lines (68 loc) • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.filterBuzzAnimOptions = filterBuzzAnimOptions;
exports.filterClickAnimOptions = filterClickAnimOptions;
exports.filterDropInAnimOptions = filterDropInAnimOptions;
exports.filterPopInAnimOptions = filterPopInAnimOptions;
exports.filterTextSlideAnimOptions = filterTextSlideAnimOptions;
function filterClickAnimOptions(config, props) {
if (props == null) {
return config;
}
let animationOptions = {
shrink: props.shrink ?? config.shrink,
shrinkDuration: Math.abs(props.shrinkDuration ?? config.shrinkDuration)
};
if (animationOptions.shrink < 0 || animationOptions.shrink > 1) {
animationOptions.shrink = config.shrink;
}
return animationOptions;
}
function filterPopInAnimOptions(config, props) {
if (props == null) {
return config;
}
let animationOptions = {
duration: Math.abs(props.duration ?? config.duration),
withBounce: props.withBounce ?? config.withBounce
};
return animationOptions;
}
function filterDropInAnimOptions(config, props) {
if (props == null) {
return config;
}
let animationOptions = {
duration: Math.abs(props.duration ?? config.duration),
withBounce: props.withBounce ?? config.withBounce,
damping: Math.abs(props.damping ?? config.damping)
};
return animationOptions;
}
function filterBuzzAnimOptions(config, props) {
if (props == null) {
return config;
}
let animationOptions = {
frequency: Math.abs(props.frequency ?? config.frequency),
rotation: Math.abs(props.rotation ?? config.rotation),
duration: Math.abs(props.duration ?? config.rotation)
};
if (animationOptions.rotation < 0 || animationOptions.rotation > 360) {
animationOptions.rotation = config.rotation;
}
return animationOptions;
}
function filterTextSlideAnimOptions(config, props) {
if (props == null) {
return config;
}
let animationOptions = {
duration: Math.abs(props.duration ?? config.duration),
offset: props.offset ?? config.offset
};
return animationOptions;
}
//# sourceMappingURL=animOptionsFilter.js.map