decord/source/design/components/ContextMenu/native/ContextMenuItem.native.tsx
2026-07-21 22:01:30 +00:00

237 lines
9.9 KiB
TypeScript

// Module ID: 12957
// Function ID: 98596
// Name: ContextMenuItem
// Dependencies: []
// Exports: ContextMenuItem
// Module 12957 (ContextMenuItem)
let closure_3 = importAll(dependencyMap[0]);
({ jsx: closure_4, jsxs: closure_5 } = arg1(dependencyMap[2]));
const tmp2 = arg1(dependencyMap[2]);
let closure_6 = importDefault(dependencyMap[3]).createAnimatedComponent(arg1(dependencyMap[1]).Pressable);
const importDefaultResult = importDefault(dependencyMap[3]);
let closure_7 = arg1(dependencyMap[4]).createStyles((arg0) => {
let obj = {};
obj = { 995517192: "https://cdn.jsdelivr.net/gh/jdecked/twemoji@16.0.1/assets/", -931573321: ".png", 1638433617: "72x72", -226471655: "emoji", 1649902433: "&", -415618397: "<", padding: arg1(dependencyMap[5]).CONTEXT_MENU_ITEM_PADDING, minHeight: arg1(dependencyMap[5]).CONTEXT_MENU_ITEM_BASE_HEIGHT };
obj.container = obj;
obj.containerRefresh = { justifyContent: "flex-start" };
obj = { borderTopLeftRadius: importDefault(dependencyMap[6]).radii.lg, borderTopRightRadius: importDefault(dependencyMap[6]).radii.lg };
obj.roundedTop = obj;
obj.roundedBottom = { borderBottomLeftRadius: importDefault(dependencyMap[6]).radii.lg, borderBottomRightRadius: importDefault(dependencyMap[6]).radii.lg };
const obj1 = { borderBottomLeftRadius: importDefault(dependencyMap[6]).radii.lg, borderBottomRightRadius: importDefault(dependencyMap[6]).radii.lg };
obj.border = { borderBottomWidth: 1, borderBottomColor: importDefault(dependencyMap[6]).colors.BORDER_SUBTLE };
const obj2 = { borderBottomWidth: 1, borderBottomColor: importDefault(dependencyMap[6]).colors.BORDER_SUBTLE };
obj.pressed = { backgroundColor: importDefault(dependencyMap[6]).colors.BACKGROUND_MOD_SUBTLE };
const obj4 = { "Null": 0, "Null": -1048576 };
if ("destructive" === arg0) {
let TEXT_STRONG = importDefault(dependencyMap[6]).colors.TEXT_FEEDBACK_CRITICAL;
} else {
TEXT_STRONG = importDefault(dependencyMap[6]).colors.TEXT_STRONG;
}
obj4.tintColor = TEXT_STRONG;
obj.icon = obj4;
obj.label = { flexShrink: 1 };
obj.trailingIndicator = { marginLeft: "auto" };
return obj;
});
let closure_8 = { code: "function ContextMenuItemNativeTsx1(){const{pan}=this.__closure;return pan.get();}" };
let closure_9 = { code: "function ContextMenuItemNativeTsx2(_current,previous){const{measure,ref,index,INDEX_BOUNDS_OFFSET,itemMeasurements,INDEX_BOUNDS_PAGE_X_OFFSET,INDEX_BOUNDS_PAGE_Y_OFFSET,INDEX_BOUNDS_WIDTH_OFFSET,INDEX_BOUNDS_HEIGHT_OFFSET}=this.__closure;if(previous==null||_current===previous)return;const measurements=measure(ref);if(measurements!=null){const{pageX:pageX,pageY:pageY,width:width,height:height}=measurements;const offset=index*INDEX_BOUNDS_OFFSET;itemMeasurements.get()[offset+INDEX_BOUNDS_PAGE_X_OFFSET]=pageX;itemMeasurements.get()[offset+INDEX_BOUNDS_PAGE_Y_OFFSET]=pageY;itemMeasurements.get()[offset+INDEX_BOUNDS_WIDTH_OFFSET]=width;itemMeasurements.get()[offset+INDEX_BOUNDS_HEIGHT_OFFSET]=height;}}" };
let closure_10 = { code: "function ContextMenuItemNativeTsx3(){const{activeIndex,index,pressed,withSpring,backgroundColor,SUBTLE_SPRING}=this.__closure;const isActive=activeIndex.get()===index||pressed.get()===1;return{backgroundColor:withSpring(isActive?backgroundColor:'transparent',SUBTLE_SPRING,'animate-always')};}" };
const obj2 = arg1(dependencyMap[4]);
const result = arg1(dependencyMap[13]).fileFinishedImporting("design/components/ContextMenu/native/ContextMenuItem.native.tsx");
export const ContextMenuItem = function ContextMenuItem(accessibilityRole) {
let IconComponent;
let end;
let iconSource;
let index;
let label;
let lastInSection;
let onPress;
let start;
let state;
let trailingIndicator;
let variant;
({ IconComponent, trailingIndicator, iconSource, start, end, index } = accessibilityRole);
const arg1 = index;
({ state, variant } = accessibilityRole);
({ label, lastInSection, onPress } = accessibilityRole);
if (variant === undefined) {
variant = "default";
}
let str = accessibilityRole.accessibilityRole;
if (str === undefined) {
str = "button";
}
let importDefault;
let dependencyMap;
let React;
let activeIndex;
let sharedValue;
let closure_6;
let obj = arg1(dependencyMap[3]);
const animatedRef = obj.useAnimatedRef();
importDefault = animatedRef;
const tmp2 = callback(variant);
const tmp3 = importDefault(dependencyMap[7])("ContextMenuItem");
const pan = state.pan;
dependencyMap = pan;
const itemMeasurements = state.itemMeasurements;
React = itemMeasurements;
activeIndex = state.activeIndex;
let obj1 = arg1(dependencyMap[3]);
sharedValue = obj1.useSharedValue(0);
let obj2 = arg1(dependencyMap[3]);
class U {
constructor() {
return pan.get();
}
}
U.__closure = { pan };
U.__workletHash = 11852115418144;
U.__initData = closure_8;
const fn = function p(arg0, arg1) {
let height;
let pageX;
let pageY;
let width;
if (null != arg1) {
if (arg0 !== arg1) {
const measureResult = index(pan[3]).measure(animatedRef);
if (null != measureResult) {
({ pageX, pageY, width, height } = measureResult);
const result = index * index(pan[8]).INDEX_BOUNDS_OFFSET;
let value = itemMeasurements.get();
value[result + index(pan[8]).INDEX_BOUNDS_PAGE_X_OFFSET] = pageX;
value = itemMeasurements.get();
value[result + index(pan[8]).INDEX_BOUNDS_PAGE_Y_OFFSET] = pageY;
const value1 = itemMeasurements.get();
value1[result + index(pan[8]).INDEX_BOUNDS_WIDTH_OFFSET] = width;
const value2 = itemMeasurements.get();
value2[result + index(pan[8]).INDEX_BOUNDS_HEIGHT_OFFSET] = height;
}
const obj = index(pan[3]);
}
}
};
obj = { measure: arg1(dependencyMap[3]).measure, ref: animatedRef, index, INDEX_BOUNDS_OFFSET: arg1(dependencyMap[8]).INDEX_BOUNDS_OFFSET, itemMeasurements, INDEX_BOUNDS_PAGE_X_OFFSET: arg1(dependencyMap[8]).INDEX_BOUNDS_PAGE_X_OFFSET, INDEX_BOUNDS_PAGE_Y_OFFSET: arg1(dependencyMap[8]).INDEX_BOUNDS_PAGE_Y_OFFSET, INDEX_BOUNDS_WIDTH_OFFSET: arg1(dependencyMap[8]).INDEX_BOUNDS_WIDTH_OFFSET, INDEX_BOUNDS_HEIGHT_OFFSET: arg1(dependencyMap[8]).INDEX_BOUNDS_HEIGHT_OFFSET };
fn.__closure = obj;
fn.__workletHash = 9571959267234;
fn.__initData = closure_9;
const animatedReaction = obj2.useAnimatedReaction(U, fn);
const backgroundColor = tmp2.pressed.backgroundColor;
closure_6 = backgroundColor;
let obj4 = arg1(dependencyMap[3]);
class R {
constructor() {
tmp = activeIndex.get() === index;
if (!tmp) {
tmp2 = closure_5;
num = 1;
tmp = 1 === closure_5.get();
}
obj = {};
obj2 = index(pan[9]);
str = "transparent";
if (tmp) {
str = backgroundColor;
}
obj.backgroundColor = obj2.withSpring(str, index(pan[10]).SUBTLE_SPRING, "animate-always");
return obj;
}
}
obj = { activeIndex, index, pressed: sharedValue, withSpring: arg1(dependencyMap[9]).withSpring, backgroundColor, SUBTLE_SPRING: arg1(dependencyMap[10]).SUBTLE_SPRING };
R.__closure = obj;
R.__workletHash = 624481847983;
R.__initData = closure_10;
const animatedStyle = obj4.useAnimatedStyle(R);
if (null != IconComponent) {
obj1 = { size: "sm", color: tmp2.icon.tintColor };
let tmp7 = activeIndex(IconComponent, obj1);
} else {
tmp7 = null;
if (null != iconSource) {
obj2 = { source: iconSource, style: tmp2.icon };
tmp7 = activeIndex(importDefault(dependencyMap[11]), obj2);
}
}
let tmp12 = null;
if (null != trailingIndicator) {
const obj3 = { size: "sm", color: tmp2.icon.tintColor };
tmp12 = activeIndex(trailingIndicator, obj3);
}
const items = [index, itemMeasurements];
const items1 = [activeIndex, index];
const callback = React.useCallback((nativeEvent) => {
let height;
let width;
({ height, width } = nativeEvent.nativeEvent.layout);
if (0 !== height) {
if (0 !== width) {
const result = index * index(pan[8]).INDEX_BOUNDS_OFFSET;
let value = itemMeasurements.get();
value[result + index(pan[8]).INDEX_BOUNDS_HEIGHT_OFFSET] = height;
value = itemMeasurements.get();
value[result + index(pan[8]).INDEX_BOUNDS_WIDTH_OFFSET] = width;
}
}
}, items);
const items2 = [activeIndex];
const callback1 = React.useCallback(() => {
const result = activeIndex.set(index);
}, items1);
obj4 = { ref: animatedRef };
const items3 = [tmp2.container, , , , , ];
let containerRefresh = tmp3;
const callback2 = React.useCallback(() => {
const result = activeIndex.set(-1);
}, items2);
if (tmp3) {
containerRefresh = tmp2.containerRefresh;
}
items3[1] = containerRefresh;
items3[2] = !end && !lastInSection && tmp2.border;
if (start) {
start = tmp2.roundedTop;
}
items3[3] = start;
if (end) {
end = tmp2.roundedBottom;
}
items3[4] = end;
items3[5] = animatedStyle;
obj4.style = items3;
obj4.onLayout = callback;
obj4.onPressIn = callback1;
obj4.onPressOut = callback2;
obj4.onPress = onPress;
obj4.accessibilityRole = str;
let tmp19 = tmp3;
if (tmp3) {
const obj5 = { children: tmp7 };
tmp19 = activeIndex(importDefault(dependencyMap[3]).View, obj5);
}
const items4 = [tmp19, , , ];
const obj6 = { 665604545: 1, 1470947939: 1, style: tmp2.label };
let str4 = "text-strong";
if ("destructive" === variant) {
str4 = "text-feedback-critical";
}
obj6.color = str4;
obj6.children = label;
items4[1] = activeIndex(arg1(dependencyMap[12]).Text, obj6);
let tmp24 = !tmp3;
if (tmp24) {
const obj7 = { children: tmp7 };
tmp24 = activeIndex(importDefault(dependencyMap[3]).View, obj7);
}
items4[2] = tmp24;
let tmp28 = null != tmp12;
if (tmp28) {
const obj8 = { style: tmp2.trailingIndicator, children: tmp12 };
tmp28 = activeIndex(importDefault(dependencyMap[3]).View, obj8);
}
items4[3] = tmp28;
obj4.children = items4;
return sharedValue(closure_6, obj4);
};