decord/source/design/components/Tabs/native/TabItem.native.tsx
2026-08-25 06:04:03 +00:00

181 lines
7.7 KiB
TypeScript

// Module ID: 12173
// Function ID: 12174
// Name: TabItemCount
// Dependencies: [19, 17, 21, 4120, 4380, 712, 4814, 4376, 500, 1236, 2]
// Exports: TabItem
// Module 12173 (TabItemCount)
import ThemesDefault from "Themes" /* 712 */;
import closure_3 from "noop" /* 19 */;
import jsxProd from "jsxProd" /* 21 */;
import createCacheKey from "createCacheKey" /* 4380 */;
import importDefaultResult from "module_4120" /* 4120 */;
const require = arg1;
function TabItemCount(arg0) {
({ index, activeIndex, pressed } = arg0);
index = undefined;
({ count, variant } = arg0);
let obj = index(pressed[3]);
const sharedValue = obj.useSharedValue(0);
index = sharedValue;
let items = [sharedValue];
const layoutEffect = React.useLayoutEffect(() => {
const result = index.set(1);
}, items);
obj1 = index(pressed[3]);
class T {
constructor() {
obj = { opacity: null, transform: null };
obj2 = index(pressed[6]);
obj[0] = obj2.withSpring(index.get(), closure_1_8);
obj = { translateX: null };
obj4 = index(pressed[6]);
obj5 = index(pressed[3]);
obj[0] = obj4.withSpring(obj5.interpolate(index.get(), [0, 1], [-10, 0]), closure_1_8);
items = [];
items[0] = obj;
obj[1] = items;
return obj;
}
}
obj = { withSpring: index(pressed[6]).withSpring, countAnimationState: sharedValue, COUNT_SPRING_CONFIG: closure_8, interpolate: index(pressed[3]).interpolate };
T.__closure = obj;
T.__workletHash = 16666672974627;
T.__initData = closure_13;
React = undefined;
const animatedStyle = obj1.useAnimatedStyle(T);
let tmp7 = callback3();
if ("gradient-background" === variant) {
tmp7 = callback4();
}
React = tmp7;
const tmp = callback2();
const fn = function c() {
let active = inactive.inactive;
const value = pressed.get();
if (value === index) {
active = tmp.pressed;
} else if (tmp2) {
active = tmp.inactive;
} else if (tmp5 === tmp4) {
active = tmp.active;
}
const obj = { color: null };
tmp2 = pressed.get() >= 0;
tmp4 = index;
obj[0] = index(pressed[6]).withSpring(active, closure_1_7, "animate-always");
return obj;
};
obj = { colors: tmp7, pressed, index, activeIndex, withSpring: tmp2(tmp3[6]).withSpring, TEXT_SPRING_CONFIG: closure_7 };
fn.__closure = obj;
fn.__workletHash = 11643476765161;
fn.__initData = closure_12;
const animatedStyle1 = index(pressed[3]).useAnimatedStyle(fn);
obj1 = { style: items1, children: callback(tmp2(tmp3[7]).Text, { animated: true, variant: "text-sm/medium", style: animatedStyle1, lineClamp: 1, children: count }) };
items1 = [tmp.count, animatedStyle];
return callback(activeIndex(pressed[3]).View, obj1);
}
({ jsx: c4, jsxs: c5 } = jsxProd);
let closure_6 = importDefaultResult.createAnimatedComponent(require("get ActivityIndicator").Pressable);
let closure_7 = { mass: 0.3, damping: 13, stiffness: 250, overshootClamping: true };
let closure_8 = { mass: 2, damping: 30, stiffness: 300, overshootClamping: true };
let obj = { item: { flexShrink: 0, flexBasis: 0, paddingBottom: 14, flexDirection: "row", justifyContent: "center" }, count: null };
obj = { marginLeft: ThemesDefault.space.PX_8 };
obj[1] = obj;
let closure_9 = createCacheKey.createStyles(obj);
createCacheKey = { inactive: ThemesDefault.colors.TEXT_MUTED, active: ThemesDefault.colors.TEXT_BRAND, pressed: ThemesDefault.colors.TEXT_BRAND };
let closure_10 = createCacheKey.createStyleProperties(createCacheKey);
let closure_11 = createCacheKey.createStyleProperties({ inactive: ThemesDefault.colors.TEXT_MUTED, active: ThemesDefault.colors.TEXT_STRONG, pressed: ThemesDefault.colors.TEXT_STRONG });
let closure_12 = { code: "function TabItemNativeTsx1(){const{colors,pressed,index,activeIndex,withSpring,TEXT_SPRING_CONFIG}=this.__closure;let color=colors.inactive;const isPressActive=pressed.get()>=0;const isPressed=pressed.get()===index;const isActive=Math.round(activeIndex.get())===index;if(isPressed){color=colors.pressed;}else if(isPressActive){color=colors.inactive;}else if(isActive){color=colors.active;}return{color:withSpring(color,TEXT_SPRING_CONFIG,'animate-always')};}" };
let closure_13 = { code: "function TabItemNativeTsx2(){const{withSpring,countAnimationState,COUNT_SPRING_CONFIG,interpolate}=this.__closure;return{opacity:withSpring(countAnimationState.get(),COUNT_SPRING_CONFIG),transform:[{translateX:withSpring(interpolate(countAnimationState.get(),[0,1],[-10,0]),COUNT_SPRING_CONFIG)}]};}" };
let closure_15 = { code: "function TabItemNativeTsx3(){const{activeIndex,index}=this.__closure;return{accessibilityState:{selected:activeIndex.get()===index}};}" };
let obj2 = { inactive: ThemesDefault.colors.TEXT_MUTED, active: ThemesDefault.colors.TEXT_STRONG, pressed: ThemesDefault.colors.TEXT_STRONG };
let result = require("set").fileFinishedImporting("design/components/Tabs/native/TabItem.native.tsx");
export const TabItem = function TabItem(arg0) {
({ count, index } = arg0);
({ state, pressed, variant } = arg0);
({ label, itemCount, grow } = arg0);
const merged = Object.assign(arg0, Object.create(null));
let activeIndex;
pressed = undefined;
activeIndex = state.activeIndex;
pressed = state.setItemDimensions;
let obj = index(pressed[3]);
const fn = function f() {
let obj = { accessibilityState: null };
obj = { selected: activeIndex.get() === index };
obj[0] = obj;
return obj;
};
fn.__closure = { activeIndex, index };
fn.__workletHash = 11618929630200;
fn.__initData = closure_15;
closure_3 = undefined;
const animatedProps = obj.useAnimatedProps(fn);
let tmp6 = callback3();
if ("gradient-background" === variant) {
tmp6 = callback4();
}
closure_3 = tmp6;
let tmp3Result = tmp3(tmp4[3]);
const fn2 = function c() {
let active = inactive.inactive;
const value = pressed.get();
if (value === index) {
active = tmp.pressed;
} else if (tmp2) {
active = tmp.inactive;
} else if (tmp5 === tmp4) {
active = tmp.active;
}
const obj = { color: null };
tmp2 = pressed.get() >= 0;
tmp4 = index;
obj[0] = index(pressed[6]).withSpring(active, closure_1_7, "animate-always");
return obj;
};
obj = { colors: tmp6, pressed, index, activeIndex, withSpring: tmp3(tmp4[6]).withSpring, TEXT_SPRING_CONFIG: closure_7 };
fn2.__closure = obj;
fn2.__workletHash = 11643476765161;
fn2.__initData = closure_12;
const items = [callback2().item, ];
let num = 0;
const animatedStyle = tmp3Result.useAnimatedStyle(fn2);
if (grow) {
num = 1;
}
obj = { style: items };
items[1] = { flexGrow: num };
const merged1 = Object.assign(merged);
obj.onLayout = function onLayout(nativeEvent) {
index(pressed[3]).runOnUI(pressed)(index, nativeEvent.nativeEvent.layout);
};
obj.accessibilityRole = "tab";
tmp3Result = tmp3(tmp4[8]);
let formatToPlainStringResult;
if (tmp3Result.isAndroid()) {
const intl = tmp3(tmp4[9]).intl;
obj1 = { position: null, tabCount: null };
obj1[0] = index + 1;
obj1[1] = itemCount;
formatToPlainStringResult = intl.formatToPlainString(tmp3(tmp4[9]).t["4EsQA1"], obj1);
}
obj.accessibilityHint = formatToPlainStringResult;
obj.animatedProps = animatedProps;
const items1 = [callback(index(pressed[7]).Text, { animated: true, variant: "text-sm/semibold", style: animatedStyle, lineClamp: 1, children: label }), ];
let tmp12Result = null;
if (null != count) {
const obj2 = { count: null, index: null, activeIndex: null, pressed: null, variant: null };
obj2[0] = count;
obj2[1] = index;
obj2[2] = activeIndex;
obj2[3] = pressed;
obj2[4] = variant;
tmp12Result = callback(TabItemCount, obj2);
}
items1[1] = tmp12Result;
obj.children = items1;
return closure_5(closure_6, obj);
};