/* Metro module 12798; source: design/components/ContextMenu/native/ContextMenuItem.native.tsx; dependencies: [31, 27, 33, 4017, 4501, 8813, 697, 1357, 8812, 4577, 4581, 4580, 4573, 2] */ function _fun97623(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#97623, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12988:6, offset: 0x0218a63a, size: 277 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importAll(31) /* metro dependency 31 */; const Pressable = (require(27) /* metro dependency 27 */).Pressable; const value = require(33) /* metro dependency 33 */; const env0_4 = value.jsx; const env0_5 = value.jsxs; const env0_6 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).createAnimatedComponent(Pressable); const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun97624); object = {code: 'function ContextMenuItemNativeTsx1(){const{pan}=this.__closure;return pan.get();}'}; object = {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;}}'}; object = {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')};}"}; (require(2) /* metro dependency 2 */).fileFinishedImporting('design/components/ContextMenu/native/ContextMenuItem.native.tsx'); exports.ContextMenuItem = ContextMenuItem; } function _fun97624(a0) { // fn#97624, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12988:214, offset: 0x0218a74f, size: 406 bytes, params: 2, frame: 17 const object3 = {}; const object6 = {'padding': null, 'minHeight': null, 'flexDirection': 'row', 'justifyContent': 'space-between', 'alignItems': 'center', 'gap': 8}; const CONTEXT_MENU_ITEM_PADDING = (require(8813) /* metro dependency 8813: ContextMenuConstantsNative */).CONTEXT_MENU_ITEM_PADDING; object6.padding = CONTEXT_MENU_ITEM_PADDING; const CONTEXT_MENU_ITEM_BASE_HEIGHT = (require(8813) /* metro dependency 8813: ContextMenuConstantsNative */).CONTEXT_MENU_ITEM_BASE_HEIGHT; object6.minHeight = CONTEXT_MENU_ITEM_BASE_HEIGHT; object3.container = object6; object3.containerRefresh = {justifyContent: 'flex-start'}; const object7 = {}; object7.borderTopLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object7.borderTopRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object3.roundedTop = object7; const object8 = {}; object8.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object8.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object3.roundedBottom = object8; const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE; object3.border = {borderBottomWidth: 1, borderBottomColor: BORDER_SUBTLE}; const BACKGROUND_MOD_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_SUBTLE; object3.pressed = {backgroundColor: BACKGROUND_MOD_SUBTLE}; object3.icon = {'width': 20, 'height': 20, tintColor: a0 === 'destructive' ? (importDefault(697) /* metro dependency 697: native */).colors.TEXT_FEEDBACK_CRITICAL : (importDefault(697) /* metro dependency 697: native */).colors.TEXT_STRONG}; object3.label = {flexShrink: 1}; object3.trailingIndicator = {marginLeft: 'auto'}; return object3; } function ContextMenuItem({label, IconComponent, trailingIndicator, iconSource, start, end, lastInSection, index, state, onPress, variant, accessibilityRole}) { // fn#97625, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12988:2183, offset: 0x0218a8e5, size: 1239 bytes, params: 2, frame: 39 var object2; variant = variant === undefined ? 'default' : variant; accessibilityRole = accessibilityRole === undefined ? 'button' : accessibilityRole; const value2 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useAnimatedRef(); const styles = useStyles(variant); const value3 = (importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('ContextMenuItem'); const pan = state.pan; const itemMeasurements = state.itemMeasurements; const env0_3 = itemMeasurements; const activeIndex = state.activeIndex; const value4 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0); const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */; const useAnimatedReaction = reanimatedRexportModule.useAnimatedReaction; let closure = function() { return pan.get(); }; closure.__closure = {pan: pan}; closure.__workletHash = 11852115418144; closure.__initData = env0_8; const closure2 = ContextMenuItemP; object2 = {measure: reanimatedRexportModule.measure, ref: value2, index: index}; const INDEX_BOUNDS_OFFSET = (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_OFFSET; object2.INDEX_BOUNDS_OFFSET = INDEX_BOUNDS_OFFSET; object2.itemMeasurements = itemMeasurements; const INDEX_BOUNDS_PAGE_X_OFFSET = (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_PAGE_X_OFFSET; object2.INDEX_BOUNDS_PAGE_X_OFFSET = INDEX_BOUNDS_PAGE_X_OFFSET; const INDEX_BOUNDS_PAGE_Y_OFFSET = (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_PAGE_Y_OFFSET; object2.INDEX_BOUNDS_PAGE_Y_OFFSET = INDEX_BOUNDS_PAGE_Y_OFFSET; const INDEX_BOUNDS_WIDTH_OFFSET = (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_WIDTH_OFFSET; object2.INDEX_BOUNDS_WIDTH_OFFSET = INDEX_BOUNDS_WIDTH_OFFSET; const INDEX_BOUNDS_HEIGHT_OFFSET = (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_HEIGHT_OFFSET; object2.INDEX_BOUNDS_HEIGHT_OFFSET = INDEX_BOUNDS_HEIGHT_OFFSET; closure2.__closure = object2; closure2.__workletHash = 9571959267234; closure2.__initData = env0_9; Reflect.apply(useAnimatedReaction, reanimatedRexportModule, [closure, closure2]); const backgroundColor = styles.pressed.backgroundColor; const env0_6 = backgroundColor; const moduleValue4 = reanimatedRexportModule; const useAnimatedStyle = moduleValue4.useAnimatedStyle; closure = ContextMenuItemR; object2 = {activeIndex: activeIndex, index: index, pressed: value4}; object2.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring; object2.backgroundColor = backgroundColor; const SUBTLE_SPRING = (require(4581) /* metro dependency 4581: springPresets */).SUBTLE_SPRING; object2.SUBTLE_SPRING = SUBTLE_SPRING; closure.__closure = object2; closure.__workletHash = 624481847983; closure.__initData = env0_10; const value5 = Reflect.apply(useAnimatedStyle, moduleValue4, [closure]); const r14 = IconComponent != null ? : iconSource != null ? ((Component) => )(importDefault(4580) /* metro dependency 4580: Icon */) : null; const r9 = trailingIndicator != null ? ((Component) => )(trailingIndicator) : null; let binding = env0_3; const value10 = binding.useCallback(_fun97629, [index, itemMeasurements]); const value11 = binding.useCallback(function() { activeIndex.set(index); }, [activeIndex, index]); const value12 = binding.useCallback(function() { activeIndex.set(-1); }, [activeIndex]); binding = env0_6; const items3 = [styles.container]; items3[1] = value3 && styles.containerRefresh; items3[2] = !end && !lastInSection && styles.border; items3[3] = start && styles.roundedTop; items3[4] = end && styles.roundedBottom; items3[5] = value5; const items2 = [value3 && ((View) => {r14})((importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View)]; const Text = (require(4573) /* metro dependency 4573: Text */).Text; items2[1] = {label}; items2[2] = !value3 && ((View) => {r14})((importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View); items2[3] = r9 != null && ((View) => {r9})((importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View); return ((Component) => {items2})(binding); } function ContextMenuItemP(a0, a1) { // fn#97627, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12988:2632, owner: ContextMenuItem.p, offset: 0x0218adbc, size: 276 bytes, params: 3, frame: 20 var value; var value3; var pageX; var pageY; var width; var height; if (a1 != null) { if (a0 !== a1) { value = environment.__proto__; value3 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).measure(env0_1); if (value3 != null) { pageX = value3.pageX; pageY = value3.pageY; width = value3.width; height = value3.height; value = index * (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_OFFSET; itemMeasurements.get()[value + (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_PAGE_X_OFFSET] = pageX; itemMeasurements.get()[value + (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_PAGE_Y_OFFSET] = pageY; itemMeasurements.get()[value + (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_WIDTH_OFFSET] = width; itemMeasurements.get()[value + (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_HEIGHT_OFFSET] = height; } } } } function ContextMenuItemR() { // fn#97628, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12988:3451, owner: ContextMenuItem.R, offset: 0x0218aed0, size: 135 bytes, params: 1, frame: 18 const r7 = activeIndex.get() === index || env0_5.get() === 1; const springModule = require(4577) /* metro dependency 4577: spring */; const withSpring = springModule.withSpring; const backgroundColor2 = r7 ? backgroundColor : 'transparent'; const SUBTLE_SPRING = (require(4581) /* metro dependency 4581: springPresets */).SUBTLE_SPRING; return {backgroundColor: Reflect.apply(withSpring, springModule, [backgroundColor2, SUBTLE_SPRING, 'animate-always'])}; } function _fun97629({nativeEvent}) { // fn#97629, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12988:3945, offset: 0x0218af57, size: 153 bytes, params: 2, frame: 18 var indexBinding; var value2; var value3; const {height, width} = nativeEvent.layout; if (height !== 0) { if (width !== 0) { indexBinding = index; value2 = environment.__proto__; value3 = indexBinding * (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_OFFSET; itemMeasurements.get()[value3 + (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_HEIGHT_OFFSET] = height; itemMeasurements.get()[value3 + (require(8812) /* metro dependency 8812: ContextMenuStateNative */).INDEX_BOUNDS_WIDTH_OFFSET] = width; } } }