@tamagui/react-native-web-lite
Version:
React Native for Web
42 lines (41 loc) • 1.21 kB
JavaScript
import AnimatedInterpolation from "./AnimatedInterpolation";
import AnimatedWithChildren from "./AnimatedWithChildren";
class AnimatedDiffClamp extends AnimatedWithChildren {
_a;
_min;
_max;
_value;
_lastValue;
constructor(a, min, max) {
super(), this._a = a, this._min = min, this._max = max, this._value = this._lastValue = this._a.__getValue();
}
__makeNative(platformConfig) {
this._a.__makeNative(platformConfig), super.__makeNative(platformConfig);
}
interpolate(config) {
return new AnimatedInterpolation(this, config);
}
__getValue() {
const value = this._a.__getValue(), diff = value - this._lastValue;
return this._lastValue = value, this._value = Math.min(Math.max(this._value + diff, this._min), this._max), this._value;
}
__attach() {
this._a.__addChild(this);
}
__detach() {
this._a.__removeChild(this), super.__detach();
}
__getNativeConfig() {
return {
type: "diffclamp",
input: this._a.__getNativeTag(),
min: this._min,
max: this._max
};
}
}
var AnimatedDiffClamp_default = AnimatedDiffClamp;
export {
AnimatedDiffClamp_default as default
};
//# sourceMappingURL=AnimatedDiffClamp.js.map