52 lines
2.0 KiB
TypeScript
52 lines
2.0 KiB
TypeScript
// Metro module 13210 (f13211).
|
|
import { useEffect, useCallback } from "react";
|
|
import { View, StyleSheet } from "react-native";
|
|
import { createStyles } from "../../Styles/native/createStyles";
|
|
import { ContextMenuPopout } from "./ContextMenuPopout.native";
|
|
import { useActiveContextMenu, hideContextMenu } from "./ContextMenuState.native";
|
|
import { KeyboardEvents } from "../../../../_bundle/Module1595";
|
|
import OverlayView from "../../../void/OverlayView/native/OverlayView";
|
|
import { Dialog } from "../../Dialog/native/Dialog.native";
|
|
import { TransitionGroup } from "../../TransitionGroup/TransitionGroup";
|
|
let useStyles, c9160_7, EMPTY_CALLBACK, renderItem;
|
|
const getItemKey = function getItemKey(a0) {
|
|
return a0.key;
|
|
};
|
|
useStyles = createStyles({
|
|
overlayView: {
|
|
...StyleSheet.absoluteFillObject,
|
|
zIndex: 99999
|
|
},
|
|
wrapperView: StyleSheet.absoluteFillObject
|
|
});
|
|
c9160_7 = [];
|
|
EMPTY_CALLBACK = () => {};
|
|
renderItem = (a0, a1, a2, a3) => <ContextMenuPopout key={a0} menu={a1} transitionState={a2} cleanUp={a3} />;
|
|
export function ContextMenuContainer() {
|
|
let callback;
|
|
const styles = useStyles();
|
|
const activeContextMenu = useActiveContextMenu();
|
|
const items = activeContextMenu != null ? [activeContextMenu] : c9160_7;
|
|
let r18 = activeContextMenu?.requestClose;
|
|
if (r18 == null) {
|
|
r18 = EMPTY_CALLBACK;
|
|
}
|
|
const EMPTY_CALLBACK2 = r18;
|
|
useEffect(() => {
|
|
let c27416_0 = KeyboardEvents.addListener("keyboardDidHide", hideContextMenu);
|
|
return () => {
|
|
c27416_0.remove();
|
|
};
|
|
}, []);
|
|
callback = useCallback(() => {
|
|
EMPTY_CALLBACK2(true);
|
|
}, [EMPTY_CALLBACK2]);
|
|
return <TransitionGroup wrapChildren={useCallback((a0, a1) => <OverlayView style={styles.overlayView}>
|
|
<View pointerEvents={a1.length === 0 ? "none" : "auto"} style={styles.wrapperView}>
|
|
<Dialog onDismiss={callback}>
|
|
{a0}
|
|
</Dialog>
|
|
</View>
|
|
</OverlayView>, [callback, styles.overlayView, styles.wrapperView])} items={items} renderItem={renderItem} getItemKey={getItemKey} />;
|
|
}
|