decord/source/design/components/Tabs/native/TabsGradient.native.tsx
2026-07-27 11:26:19 +00:00

118 lines
4.8 KiB
TypeScript

// Module ID: 11798
// Function ID: 91535
// Name: useGradientAnimatedStyle
// Dependencies: [31, 653, 33, 3992, 4555, 4131, 4543, 2]
// Exports: default
// Module 11798 (useGradientAnimatedStyle)
import result from "result";
import { HorizontalGradient } from "ME";
import jsxProd from "jsxProd";
import LinearGradient from "LinearGradient";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
import importDefaultResult from "module_3992";
let closure_4;
let closure_5;
let closure_6;
const require = arg1;
function useGradientAnimatedStyle(visible) {
const _require = visible;
let obj = _require(3992);
const fn = function s() {
const obj = {};
let num = 0;
if (visible.get()) {
num = 1;
}
obj.opacity = visible(outer1_1[6]).withSpring(num, outer1_8);
return obj;
};
obj = { withSpring: _require(4543).withSpring, visible, SPRING_CONFIG: closure_8 };
fn.__closure = obj;
fn.__workletHash = 14959306962615;
fn.__initData = closure_10;
return obj.useAnimatedStyle(fn);
}
({ jsx: closure_4, Fragment: closure_5, jsxs: closure_6 } = jsxProd);
let closure_8 = { mass: 1, damping: 30, stiffness: 250 };
let closure_9 = _createForOfIteratorHelperLoose.createStyles({ gradient: { width: 50, position: "absolute", top: 0, bottom: 0, zIndex: 100 }, left: { left: 0 }, right: { right: 0 } });
let closure_10 = { code: "function TabsGradientNativeTsx1(){const{withSpring,visible,SPRING_CONFIG}=this.__closure;return{opacity:withSpring(visible.get()?1:0,SPRING_CONFIG)};}" };
let closure_11 = { code: "function TabsGradientNativeTsx2(){const{itemDimensions,state}=this.__closure;const items=itemDimensions.get();const itemWidths=items.reduce(function(s,layout){var _layout$width;return s+((_layout$width=layout===null||layout===void 0?void 0:layout.width)!==null&&_layout$width!==void 0?_layout$width:0);},0);const itemsSpacing=items.length*state.itemSpacing;return itemWidths+itemsSpacing;}" };
let closure_12 = { code: "function TabsGradientNativeTsx3(){const{scrollOffset,totalItemWidth,pageWidth}=this.__closure;return scrollOffset.get()>0&&totalItemWidth.get()>pageWidth;}" };
let closure_13 = { code: "function TabsGradientNativeTsx4(){const{scrollOffset,totalItemWidth,pageWidth}=this.__closure;return scrollOffset.get()<totalItemWidth.get()-pageWidth&&totalItemWidth.get()>pageWidth;}" };
const result = require("jsxProd").fileFinishedImporting("design/components/Tabs/native/TabsGradient.native.tsx");
export default function TabsGradient(state) {
state = state.state;
const colors = state.colors;
const scrollOffset = state.scrollOffset;
const itemDimensions = state.itemDimensions;
const pageWidth = state.pageWidth;
let obj = state(colors[3]);
const fn = function f() {
const value = itemDimensions.get();
return value.reduce((arg0, width) => {
width = undefined;
if (null != width) {
width = width.width;
}
let num = 0;
if (null != width) {
num = width;
}
return arg0 + num;
}, 0) + value.length * state.itemSpacing;
};
fn.__closure = { itemDimensions, state };
fn.__workletHash = 456613763143;
fn.__initData = closure_11;
const derivedValue = obj.useDerivedValue(fn);
let obj1 = state(colors[3]);
const fn2 = function y() {
let tmp = scrollOffset.get() > 0;
if (tmp) {
tmp = derivedValue.get() > pageWidth;
}
return tmp;
};
fn2.__closure = { scrollOffset, totalItemWidth: derivedValue, pageWidth };
fn2.__workletHash = 13237586618288;
fn2.__initData = closure_12;
let tmp2 = useGradientAnimatedStyle(obj1.useDerivedValue(fn2));
class W {
constructor() {
value = scrollOffset.get();
tmp2 = value < c5.get() - pageWidth;
if (tmp2) {
tmp3 = c5;
tmp4 = pageWidth;
tmp2 = c5.get() > pageWidth;
}
return tmp2;
}
}
W.__closure = { scrollOffset, totalItemWidth: derivedValue, pageWidth };
W.__workletHash = 13808489302165;
W.__initData = closure_13;
const obj3 = state(colors[3]);
const tmp4 = callback2();
let items = [colors];
obj = {};
obj = { start: itemDimensions.START, end: itemDimensions.END, colors, style: items1, pointerEvents: "none" };
items1 = [, , ];
({ left: arr2[0], gradient: arr2[1] } = tmp4);
items1[2] = tmp2;
const memo = scrollOffset.useMemo(() => {
const items = [...colors];
return items.reverse();
}, items);
const items2 = [pageWidth(LinearGradient, obj), ];
obj1 = { start: itemDimensions.START, end: itemDimensions.END, colors: memo, style: items3, pointerEvents: "none" };
items3 = [, , ];
({ right: arr4[0], gradient: arr4[1] } = tmp4);
items3[2] = useGradientAnimatedStyle(state(colors[3]).useDerivedValue(W));
items2[1] = pageWidth(LinearGradient, obj1);
obj.children = items2;
return callback(derivedValue, obj);
};