decord/beta/source/design/components/AccessibilityView/useAccessibilityViewIsModalToggle.native.tsx

61 lines
1.9 KiB
TypeScript
Raw Normal View History

// Module ID: 5264
// Function ID: 5265
// Name: useAccessibilityViewIsModalToggle
// Dependencies: [19, 5265, 2]
// Exports: default
// Module 5264 (useAccessibilityViewIsModalToggle)
import AccessibilityFocusLockManagerDefault from "AccessibilityFocusLockManager" /* 5265 */;
2026-10-01 14:13:23 +00:00
import react_mod from "react" /* 19 */;
import size from "module_2" /* 2 */;
2026-10-01 14:13:23 +00:00
let react = react_mod;
let result = size.fileFinishedImporting("design/components/AccessibilityView/useAccessibilityViewIsModalToggle.native.tsx");
export default function useAccessibilityViewIsModalToggle(accessibilityViewIsModal) {
2026-10-01 14:13:23 +00:00
let ref;
let flag = accessibilityViewIsModal.accessibilityViewIsModal;
if (flag === undefined) {
flag = false;
}
const nativeID = accessibilityViewIsModal.nativeID;
2026-10-01 14:13:23 +00:00
react = undefined;
react = react.useRef(undefined);
let items = [flag, nativeID];
2026-10-01 14:13:23 +00:00
const callback = react.useCallback(function() {
let tmp = arg0;
if (arg0 === undefined) {
tmp = flag;
}
if (tmp) {
if (null == nativeID) {
const _Error = Error;
2026-10-01 14:13:23 +00:00
const self = this;
const self2 = this;
const error = new Error("Must have a unique nativeID when accessibilityViewIsModal is enabled.");
throw error;
2026-10-01 14:13:23 +00:00
} else if (ref.current !== nativeID) {
ref.current = nativeID;
const items = [nativeID];
const obj2 = AccessibilityFocusLockManagerDefault;
const result = obj2.enableAccessibilityFocusLock(items);
}
} else {
const current = ref.current;
if (null != current) {
ref.current = undefined;
const items1 = [current];
2026-10-01 14:13:23 +00:00
const obj = AccessibilityFocusLockManagerDefault;
const result1 = obj.disableAccessibilityFocusLock(items1);
}
}
}, items);
let items1 = [callback];
2026-10-01 14:13:23 +00:00
const effect = react.useEffect(() => {
callback();
return () => {
callback(false);
};
}, items1);
};