@tamagui/react-native-web-lite
Version:
React Native for Web
177 lines (174 loc) • 7.53 kB
JavaScript
import AnimatedNode from "./AnimatedNode.native.js";
import AnimatedTransform from "./AnimatedTransform.native.js";
import AnimatedWithChildren from "./AnimatedWithChildren.native.js";
import NativeAnimatedHelper from "../NativeAnimatedHelper.native.js";
import { StyleSheet } from "@tamagui/react-native-web-internals";
function _assert_this_initialized(self) {
if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return self;
}
function _call_super(_this, derived, args) {
return derived = _get_prototype_of(derived), _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
}
function _class_call_check(instance, Constructor) {
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _create_class(Constructor, protoProps, staticProps) {
return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;
}
function _define_property(obj, key, value) {
return key in obj ? Object.defineProperty(obj, key, {
value,
enumerable: !0,
configurable: !0,
writable: !0
}) : obj[key] = value, obj;
}
function _get(target, property, receiver) {
return typeof Reflect < "u" && Reflect.get ? _get = Reflect.get : _get = function (target2, property2, receiver2) {
var base = _super_prop_base(target2, property2);
if (base) {
var desc = Object.getOwnPropertyDescriptor(base, property2);
return desc.get ? desc.get.call(receiver2 || target2) : desc.value;
}
}, _get(target, property, receiver || target);
}
function _get_prototype_of(o) {
return _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function (o2) {
return o2.__proto__ || Object.getPrototypeOf(o2);
}, _get_prototype_of(o);
}
function _inherits(subClass, superClass) {
if (typeof superClass != "function" && superClass !== null) throw new TypeError("Super expression must either be null or a function");
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: !0,
configurable: !0
}
}), superClass && _set_prototype_of(subClass, superClass);
}
function _possible_constructor_return(self, call) {
return call && (_type_of(call) === "object" || typeof call == "function") ? call : _assert_this_initialized(self);
}
function _set_prototype_of(o, p) {
return _set_prototype_of = Object.setPrototypeOf || function (o2, p2) {
return o2.__proto__ = p2, o2;
}, _set_prototype_of(o, p);
}
function _super_prop_base(object, property) {
for (; !Object.prototype.hasOwnProperty.call(object, property) && (object = _get_prototype_of(object), object !== null););
return object;
}
function _type_of(obj) {
"@swc/helpers - typeof";
return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
}
function _is_native_reflect_construct() {
try {
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
} catch {}
return (_is_native_reflect_construct = function () {
return !!result;
})();
}
var flattenStyle = StyleSheet.flatten;
function createAnimatedStyle(inputStyle) {
var style = flattenStyle(inputStyle),
animatedStyles = {};
for (var key in style) {
var value = style[key];
key === "transform" && Array.isArray(value) ? animatedStyles[key] = new AnimatedTransform(value) : value instanceof AnimatedNode ? animatedStyles[key] = value : value && !Array.isArray(value) && typeof value == "object" && (animatedStyles[key] = createAnimatedStyle(value));
}
return animatedStyles;
}
var AnimatedStyle = /* @__PURE__ */function (AnimatedWithChildren2) {
"use strict";
_inherits(AnimatedStyle2, AnimatedWithChildren2);
function AnimatedStyle2(style) {
_class_call_check(this, AnimatedStyle2);
var _this;
return _this = _call_super(this, AnimatedStyle2), _define_property(_this, "_inputStyle", void 0), _define_property(_this, "_style", void 0), _this._inputStyle = style, _this._style = createAnimatedStyle(style), _this;
}
return _create_class(AnimatedStyle2, [{
// Recursively get values for nested styles (like iOS's shadowOffset)
key: "_walkStyleAndGetValues",
value: function (style) {
var updatedStyle = {};
for (var key in style) {
var value = style[key];
value instanceof AnimatedNode ? value.__isNative || (updatedStyle[key] = value.__getValue()) : value && !Array.isArray(value) && typeof value == "object" ? updatedStyle[key] = this._walkStyleAndGetValues(value) : updatedStyle[key] = value;
}
return updatedStyle;
}
}, {
key: "__getValue",
value: function () {
return [this._inputStyle, this._walkStyleAndGetValues(this._style)];
}
}, {
// Recursively get animated values for nested styles (like iOS's shadowOffset)
key: "_walkStyleAndGetAnimatedValues",
value: function (style) {
var updatedStyle = {};
for (var key in style) {
var value = style[key];
value instanceof AnimatedNode ? updatedStyle[key] = value.__getAnimatedValue() : value && !Array.isArray(value) && typeof value == "object" && (updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value));
}
return updatedStyle;
}
}, {
key: "__getAnimatedValue",
value: function () {
return this._walkStyleAndGetAnimatedValues(this._style);
}
}, {
key: "__attach",
value: function () {
for (var key in this._style) {
var value = this._style[key];
value instanceof AnimatedNode && value.__addChild(this);
}
}
}, {
key: "__detach",
value: function () {
for (var key in this._style) {
var value = this._style[key];
value instanceof AnimatedNode && value.__removeChild(this);
}
_get(_get_prototype_of(AnimatedStyle2.prototype), "__detach", this).call(this);
}
}, {
key: "__makeNative",
value: function () {
for (var key in this._style) {
var value = this._style[key];
value instanceof AnimatedNode && value.__makeNative();
}
_get(_get_prototype_of(AnimatedStyle2.prototype), "__makeNative", this).call(this);
}
}, {
key: "__getNativeConfig",
value: function () {
var styleConfig = {};
for (var styleKey in this._style) if (this._style[styleKey] instanceof AnimatedNode) {
var style = this._style[styleKey];
style.__makeNative(), styleConfig[styleKey] = style.__getNativeTag();
}
return NativeAnimatedHelper.validateStyles(styleConfig), {
type: "style",
style: styleConfig
};
}
}]), AnimatedStyle2;
}(AnimatedWithChildren),
AnimatedStyle_default = AnimatedStyle;
export { AnimatedStyle_default as default };
//# sourceMappingURL=AnimatedStyle.native.js.map