UNPKG

@tamagui/react-native-web-lite

Version:
43 lines (42 loc) 1.23 kB
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, AnimatedDiffClamp_default as default }; //# sourceMappingURL=AnimatedDiffClamp.js.map