Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4790.js (118.4 MB)
103 lines
3.3 KiB
TypeScript
103 lines
3.3 KiB
TypeScript
// Module ID: 14208
|
|
// Function ID: 14209
|
|
// Name: MenuPopout
|
|
// Dependencies: [32, 19, 21, 8739, 4341, 10720, 14205, 14206, 14207, 2]
|
|
// Exports: MenuPopout
|
|
|
|
// Module 14208 (MenuPopout)
|
|
import NativeMenuActionCreatorsDefault from "NativeMenuActionCreators" /* 10720 */;
|
|
import Menu from "Menu" /* 14205 */;
|
|
import _slicedToArray from "module_32" /* 32 */;
|
|
import noop from "module_19" /* 19 */;
|
|
|
|
require = fn;
|
|
const jsxProd = fn(21);
|
|
({ jsx: hasOwnProperty, Fragment: metroRequire } = jsxProd);
|
|
const size = fn(2);
|
|
const result = size.fileFinishedImporting("design/components/Menu/native/MenuPopout.tsx");
|
|
|
|
export const MenuPopout = function MenuPopout(onRequestOpen) {
|
|
({ key, menuItems } = onRequestOpen);
|
|
if (menuItems === undefined) {
|
|
menuItems = [];
|
|
}
|
|
onRequestOpen = onRequestOpen.onRequestOpen;
|
|
const onRequestClose = onRequestOpen.onRequestClose;
|
|
const position = onRequestOpen.position;
|
|
const align = onRequestOpen.align;
|
|
const offset = onRequestOpen.offset;
|
|
const offsetAnimated = onRequestOpen.offsetAnimated;
|
|
key = undefined;
|
|
let animatedRef;
|
|
let isShown;
|
|
closure_10 = undefined;
|
|
let onClose;
|
|
let memo;
|
|
let callback1;
|
|
if (key == null) {
|
|
key = obj.useUID();
|
|
}
|
|
obj = menuItems(onRequestClose[3]);
|
|
animatedRef = menuItems(onRequestClose[4]).useAnimatedRef();
|
|
const tmp4 = position(align.useState(false), 2);
|
|
isShown = tmp4[0];
|
|
closure_10 = tmp4[1];
|
|
const items = [key, onRequestClose];
|
|
const mapped = menuItems.map((label) => ({ name: label.label, label: label.label }));
|
|
onClose = align.useCallback(() => {
|
|
closure_10(false);
|
|
if (onRequestClose != null) {
|
|
onRequestClose();
|
|
}
|
|
NativeMenuActionCreatorsDefault.hideNativeMenu(key);
|
|
}, items);
|
|
const items1 = [animatedRef, onClose, menuItems, position, align, offset, offsetAnimated];
|
|
memo = align.useMemo(() => hasOwnProperty(Menu.Menu, {
|
|
toggleButtonRef: animatedRef,
|
|
onClose,
|
|
position,
|
|
align,
|
|
offset,
|
|
offsetAnimated,
|
|
children: menuItems.map((item, index) => {
|
|
const obj = { children: null };
|
|
const merged = Object.assign(item);
|
|
obj.children = offset(menuItems(14207).MenuItem, { showIconFirst: true });
|
|
return offset(menuItems(14206).MenuGroup, obj, "chat-context-menu-group-" + index);
|
|
})
|
|
}), items1);
|
|
const items2 = [memo, key, onRequestOpen];
|
|
callback1 = align.useCallback(() => {
|
|
closure_10(true);
|
|
if (onRequestOpen != null) {
|
|
onRequestOpen();
|
|
}
|
|
NativeMenuActionCreatorsDefault.showNativeMenu(key, memo);
|
|
}, items2);
|
|
const items3 = [isShown, onClose, callback1];
|
|
const obj2 = { children: null };
|
|
const tmpResult = menuItems(onRequestClose[4]);
|
|
obj2.children = onRequestOpen.children({
|
|
ref: animatedRef,
|
|
onPress: align.useCallback(() => {
|
|
if (first) {
|
|
callback();
|
|
} else {
|
|
callback1();
|
|
}
|
|
}, items3),
|
|
accessibilityState: { expanded: isShown },
|
|
accessibilityActions: mapped,
|
|
onAccessibilityAction(arg0) {
|
|
const nativeEvent = arg0;
|
|
const found = menuItems.find((label) => label.label === nativeEvent.nativeEvent.actionName);
|
|
if (found != null) {
|
|
const action = found.action;
|
|
if (action != null) {
|
|
action();
|
|
}
|
|
}
|
|
}
|
|
}, { isShown });
|
|
return offset(offsetAnimated, obj2);
|
|
};
|