@tamagui/react-native-web-lite
Version:
React Native for Web
98 lines • 3.71 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: !0
});
},
__copyProps = (to, from, except, desc) => {
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
return to;
};
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
value: !0
}), mod);
var AccessibilityInfo_exports = {};
__export(AccessibilityInfo_exports, {
default: () => AccessibilityInfo_default
});
module.exports = __toCommonJS(AccessibilityInfo_exports);
var import_react_native_web_internals = require("@tamagui/react-native-web-internals");
function isScreenReaderEnabled() {
return new Promise((resolve, reject) => {
resolve(!0);
});
}
const prefersReducedMotionMedia = import_react_native_web_internals.canUseDOM && typeof window.matchMedia == "function" ? window.matchMedia("(prefers-reduced-motion: reduce)") : null;
function isReduceMotionEnabled() {
return new Promise((resolve, reject) => {
resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : !0);
});
}
function addChangeListener(fn) {
prefersReducedMotionMedia != null && (prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener("change", fn) : prefersReducedMotionMedia.addListener(fn));
}
function removeChangeListener(fn) {
prefersReducedMotionMedia != null && (prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener("change", fn) : prefersReducedMotionMedia.removeListener(fn));
}
const handlers = {},
AccessibilityInfo = {
/**
* Query whether a screen reader is currently enabled.
*
* Returns a promise which resolves to a boolean.
* The result is `true` when a screen reader is enabled and `false` otherwise.
*/
isScreenReaderEnabled,
/**
* Query whether the user prefers reduced motion.
*
* Returns a promise which resolves to a boolean.
* The result is `true` when a screen reader is enabled and `false` otherwise.
*/
isReduceMotionEnabled,
/**
* Deprecated
*/
fetch: isScreenReaderEnabled,
/**
* Add an event handler. Supported events: reduceMotionChanged
*/
addEventListener: function (eventName, handler) {
if (eventName === "reduceMotionChanged") {
if (!prefersReducedMotionMedia) return;
const listener = event => {
handler(event.matches);
};
addChangeListener(listener), handlers[handler] = listener;
}
return {
remove: () => AccessibilityInfo.removeEventListener(eventName, handler)
};
},
/**
* Set accessibility focus to a react component.
*/
setAccessibilityFocus: function (reactTag) {},
/**
* Post a string to be announced by the screen reader.
*/
announceForAccessibility: function (announcement) {},
/**
* Remove an event handler.
*/
removeEventListener: function (eventName, handler) {
if (eventName === "reduceMotionChanged") {
const listener = handlers[handler];
if (!listener || !prefersReducedMotionMedia) return;
removeChangeListener(listener);
}
}
};
var AccessibilityInfo_default = AccessibilityInfo;