decord/source/1559_useFocusEvents.js

81 lines
2 KiB
JavaScript
Raw Normal View History

2026-08-06 08:05:19 +00:00
// Module ID: 1559
// Function ID: 1560
2026-07-20 16:05:17 +00:00
// Name: useFocusEvents
2026-08-06 08:05:19 +00:00
// Dependencies: [19, 1524]
// Exports: useFocusEvents
2026-07-20 16:05:17 +00:00
2026-08-06 08:05:19 +00:00
// Module 1559 (useFocusEvents)
2026-07-29 08:29:29 +00:00
import noop from "noop";
2026-07-23 10:11:24 +00:00
2026-08-06 08:05:19 +00:00
const require = arg1;
2026-07-20 16:05:17 +00:00
2026-08-06 08:05:19 +00:00
export const useFocusEvents = function useFocusEvents(arg0) {
2026-07-20 16:05:17 +00:00
let emitter;
let state;
({ state, emitter } = arg0);
2026-07-29 08:29:29 +00:00
let context;
let React;
let key;
2026-08-06 08:05:19 +00:00
context = React.useContext(emitter(context[1]).NavigationContext);
React = React.useRef(undefined);
2026-07-29 08:29:29 +00:00
key = state.routes[state.index].key;
2026-07-20 16:05:17 +00:00
const items = [key, emitter, context];
const effect = React.useEffect(() => {
let addListenerResult;
2026-07-29 08:29:29 +00:00
if (context != null) {
2026-07-20 16:05:17 +00:00
addListenerResult = context.addListener("focus", () => {
2026-07-29 08:29:29 +00:00
noop.current = closure_3;
closure_0.emit({ type: "focus", target: closure_3 });
2026-07-20 16:05:17 +00:00
});
}
return addListenerResult;
}, items);
const items1 = [key, emitter, context];
const effect1 = React.useEffect(() => {
let addListenerResult;
2026-07-29 08:29:29 +00:00
if (context != null) {
2026-07-20 16:05:17 +00:00
addListenerResult = context.addListener("blur", () => {
2026-07-29 08:29:29 +00:00
noop.current = undefined;
closure_0.emit({ type: "blur", target: closure_3 });
2026-07-20 16:05:17 +00:00
});
}
return addListenerResult;
}, items1);
const items2 = [key, emitter, context];
const effect2 = React.useEffect(() => {
const current = ref.current;
2026-08-06 08:05:19 +00:00
let obj = context;
let isFocusedResult = !context;
if (context) {
isFocusedResult = obj.isFocused();
}
if (isFocusedResult) {
ref.current = key;
}
let tmp5 = tmp4;
2026-07-20 16:05:17 +00:00
if (undefined === current) {
2026-08-06 08:05:19 +00:00
tmp5 = obj;
2026-07-20 16:05:17 +00:00
}
2026-08-06 08:05:19 +00:00
if (!tmp5) {
obj = { type: "focus", target: null };
obj[1] = key;
2026-07-20 16:05:17 +00:00
emitter.emit(obj);
}
2026-08-06 08:05:19 +00:00
let tmp10 = current !== key;
if (tmp10) {
tmp10 = isFocusedResult;
2026-07-20 16:05:17 +00:00
}
2026-08-06 08:05:19 +00:00
if (tmp10) {
tmp10 = tmp4;
}
if (tmp10) {
obj = { type: "blur", target: null };
obj[1] = current;
emitter.emit(obj);
const obj1 = { type: "focus", target: null };
obj1[1] = key;
emitter.emit(obj1);
2026-07-20 16:05:17 +00:00
}
}, items2);
};