Files
2026-07-28 01:06:53 +03:00

159 lines
9.7 KiB
TypeScript

/* Metro module 8812; source: design/components/ContextMenu/native/ContextMenuState.native.tsx; dependencies: [31, 629, 690, 4017, 4081, 2] */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as Module00629Module from '../../../../by-id/module-00629.js'; /* Metro dependency 629 */
import * as ReactBatchUpdatesNativeModule from '../../../../external/discord_common/js/shared/utils/ReactBatchUpdates.native.tsx'; /* Metro dependency 690 */
import * as ReanimatedRexportModule from '../../../../modules/reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
function _fun68896(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68896, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:6, offset: 0x01c611b8, size: 277 bytes, params: 8, frame: 20
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = Module00629Module;
value = value.create(function() {
return {menu: null};
});
object = {code: 'function updateContextMenuState_ContextMenuStateNativeTsx1(absoluteX,absoluteY,state){const{INDEX_BOUNDS_WIDTH_OFFSET,INDEX_BOUNDS_HEIGHT_OFFSET,INDEX_BOUNDS_PAGE_Y_OFFSET,INDEX_BOUNDS_PAGE_X_OFFSET,INDEX_BOUNDS_OFFSET,runOnJS,triggerHapticFeedback,HapticFeedbackTypes}=this.__closure;const{pan:pan,itemMeasurements:itemMeasurements,activeIndex:activeIndex}=state;pan.set(absoluteY);const bounds=itemMeasurements.get();let offset=0;while(offset<bounds.length){const width=bounds[offset+INDEX_BOUNDS_WIDTH_OFFSET];const height=bounds[offset+INDEX_BOUNDS_HEIGHT_OFFSET];const pageY=bounds[offset+INDEX_BOUNDS_PAGE_Y_OFFSET];const pageX=bounds[offset+INDEX_BOUNDS_PAGE_X_OFFSET];const lowerY=pageY;const upperY=pageY+height;const lowerX=pageX;const upperX=pageX+width;if(absoluteY>=lowerY&&absoluteY<=upperY&&absoluteX>=lowerX&&absoluteX<=upperX){const index=offset/INDEX_BOUNDS_OFFSET;if(activeIndex.get()!==index){activeIndex.set(index);runOnJS(triggerHapticFeedback)(HapticFeedbackTypes.IMPACT_LIGHT);}return;}offset+=INDEX_BOUNDS_OFFSET;}activeIndex.set(-1);}'};
const value2 = _fun68898();
(FileImportTrackerModule).fileFinishedImporting('design/components/ContextMenu/native/ContextMenuState.native.tsx');
exports.INDEX_BOUNDS_OFFSET = 4;
exports.INDEX_BOUNDS_PAGE_X_OFFSET = 0;
exports.INDEX_BOUNDS_PAGE_Y_OFFSET = 1;
exports.INDEX_BOUNDS_WIDTH_OFFSET = 2;
exports.INDEX_BOUNDS_HEIGHT_OFFSET = 3;
exports.ContextMenuStore = value;
exports.showContextMenu = showContextMenu;
exports.hideContextMenu = hideContextMenu;
exports.useActiveContextMenu = useActiveContextMenu;
exports.updateContextMenuState = value2;
exports.useContextMenuState = useContextMenuState;
exports.resetContextMenuState = function({activeIndex, pan, itemMeasurements}) {
activeIndex.set(-1);
pan.set(-1);
if (itemMeasurements.get().length > 0) {
itemMeasurements.set([]);
}
};
function _fun68898() { // fn#68898, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:1226, offset: 0x01c612d8, size: 134 bytes, params: 1, frame: 16
const updateContextMenuState2 = updateContextMenuState;
const object = {'INDEX_BOUNDS_WIDTH_OFFSET': 2, 'INDEX_BOUNDS_HEIGHT_OFFSET': 3, 'INDEX_BOUNDS_PAGE_Y_OFFSET': 1,
'INDEX_BOUNDS_PAGE_X_OFFSET': 0, 'INDEX_BOUNDS_OFFSET': 4};
object.runOnJS = (require(4017) /* metro dependency 4017: ReanimatedRexport */).runOnJS;
object.triggerHapticFeedback = (require(4081) /* metro dependency 4081: HapticUtilsNative */).triggerHapticFeedback;
const HapticFeedbackTypes = (require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes;
object.HapticFeedbackTypes = HapticFeedbackTypes;
updateContextMenuState2.__closure = object;
updateContextMenuState2.__workletHash = 10158111154044;
updateContextMenuState2.__initData = env0_4;
return updateContextMenuState2;
function updateContextMenuState(a0, a1, {pan, itemMeasurements, activeIndex}) { // fn#68899, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:1264, offset: 0x01c6135e, size: 273 bytes, params: 4, frame: 24
var r3;
var property;
var property2;
var property3;
var property4;
var value3;
var runOnJS;
var triggerHapticFeedback;
var HapticFeedbackTypes;
var IMPACT_LIGHT;
pan.set(a1);
let value = itemMeasurements.get();
let length = value.length;
if (0 < length) {
r3 = 0;
reducibleLoop1: while (true) {
property = value[r3 + 2];
property2 = value[r3 + 3];
property3 = value[r3 + 1];
property4 = value[r3 + 0];
if (a1 >= property3) {
reducibleJoin5: while (true) {
if (a1 <= property3 + property2) {
if (a0 >= property4) {
if (a0 <= property4 + property) {
break reducibleLoop1;
}
break reducibleJoin5;
}
break reducibleJoin5;
}
break reducibleJoin5;
}
}
value3 = r3 + 4;
length = value.length;
if (!(value3 < length)) {
activeIndex.set(-1);
return undefined;
}
r3 = value3;
continue reducibleLoop1;
}
value = r3 / 4;
reducibleJoin9: while (true) {
if (activeIndex.get() !== value) {
activeIndex.set(value);
value = environment.__proto__;
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
runOnJS = value.runOnJS;
triggerHapticFeedback = (require(4081) /* metro dependency 4081: HapticUtilsNative */).triggerHapticFeedback;
value = Reflect.apply(runOnJS, value, [triggerHapticFeedback]);
HapticFeedbackTypes = (require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes;
IMPACT_LIGHT = HapticFeedbackTypes.IMPACT_LIGHT;
value(IMPACT_LIGHT);
break reducibleJoin9;
}
break reducibleJoin9;
}
} else {
activeIndex.set(-1);
}
}
}
function showContextMenu(a0) { // fn#68900, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:2296, offset: 0x01c6146f, size: 54 bytes, params: 2, frame: 12
const env0_0 = a0;
(ReactBatchUpdatesNativeModule).batchUpdates(_fun68901);
function _fun68901() { // fn#68901, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:2346, offset: 0x01c614a5, size: 34 bytes, params: 1, frame: 12
return env1_3.setState({menu: env0_0});
}
}
function hideContextMenu() { // fn#68902, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:2392, offset: 0x01c614c7, size: 47 bytes, params: 1, frame: 12
(ReactBatchUpdatesNativeModule).batchUpdates(_fun68903);
function _fun68903() { // fn#68903, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:2441, offset: 0x01c614f6, size: 31 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__;
env1_3.setState(function(a0) {
var value = a0;
return value.menu == null ? value : {menu: null};
});
}
}
function useActiveContextMenu() { // fn#68905, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:2517, offset: 0x01c61530, size: 25 bytes, params: 1, frame: 11
return env0_3(function(a0) {
return a0.menu;
});
}
function useContextMenuState() { // fn#68907, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:2621, offset: 0x01c61554, size: 140 bytes, params: 1, frame: 20
const value2 = (ReanimatedRexportModule).useSharedValue(-1);
const value3 = (ReanimatedRexportModule).useSharedValue([]);
const value4 = (ReanimatedRexportModule).useSharedValue(-1);
return value4.useMemo(_fun68908, [value2, value3, value4]);
function _fun68908() { // fn#68908, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8997:2761, offset: 0x01c615e0, size: 34 bytes, params: 1, frame: 3
return {pan: env0_0, itemMeasurements: env0_1, activeIndex: ReactModule};
}
}
}
global.__d(_fun68896, 8812, [31, 629, 690, 4017, 4081,
2]) /* metro module 8812, dependencies: [31, 629, 690, 4017, 4081, 2] */;