152 lines
8.4 KiB
TypeScript
152 lines
8.4 KiB
TypeScript
/* Metro module 8812; source: design/components/ContextMenu/native/ContextMenuState.native.tsx; dependencies: [31, 629, 690, 4017, 4081, 2] */
|
|
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});
|
|
const env0_2 = importAll(31) /* metro dependency 31 */;
|
|
let value = require(629) /* metro dependency 629 */;
|
|
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();
|
|
(require(2) /* metro dependency 2 */).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 closure = updateContextMenuState;
|
|
const object2 = {'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};
|
|
object2.runOnJS = (require(4017) /* metro dependency 4017: ReanimatedRexport */).runOnJS;
|
|
object2.triggerHapticFeedback = (require(4081) /* metro dependency 4081: HapticUtilsNative */).triggerHapticFeedback;
|
|
const HapticFeedbackTypes = (require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes;
|
|
object2.HapticFeedbackTypes = HapticFeedbackTypes;
|
|
closure.__closure = object2;
|
|
closure.__workletHash = 10158111154044;
|
|
closure.__initData = env0_4;
|
|
return closure;
|
|
}
|
|
|
|
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;
|
|
(require(690) /* metro dependency 690: ReactBatchUpdatesNative */).batchUpdates(_fun68901);
|
|
}
|
|
|
|
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
|
|
(require(690) /* metro dependency 690: ReactBatchUpdatesNative */).batchUpdates(_fun68903);
|
|
}
|
|
|
|
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 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(-1);
|
|
const value3 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue([]);
|
|
const value4 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(-1);
|
|
return value4.useMemo(_fun68908, [value2, value3, value4]);
|
|
}
|
|
|
|
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 _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 _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 _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: env0_2};
|
|
}
|
|
|