This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

@@ -0,0 +1,217 @@
// Metro module 13502 (f13503).
import AccessibilityStore from "./AccessibilityStore";
import { AnalyticEvents } from "../../Constants";
import { StickerAnimationSettings } from "../stickers/StickersConstants";
import { SettingsOverrideReasonKeys } from "../user_settings/UserSettingsConstants";
import Dispatcher from "../../Dispatcher";
import AnalyticsUtils from "../../utils/AnalyticsUtils";
import UserSettingsActionCreators from "../../actions/UserSettingsActionCreators";
export function setFontSize(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_FONT_SIZE",
fontSize: a0
});
}
export function setMessageGroupSpacing(messageGroupSpacing = null) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_MESSAGE_GROUP_SPACING",
messageGroupSpacing
});
}
export function setZoom(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_ZOOM",
zoom: a0
});
}
export function resetToDefault() {
Dispatcher.dispatch({
type: "ACCESSIBILITY_RESET_TO_DEFAULT"
});
}
export function enableKeyboardMode() {
Dispatcher.dispatch({
type: "ACCESSIBILITY_KEYBOARD_MODE_ENABLE"
});
AnalyticsUtils.track(AnalyticEvents.KEYBOARD_MODE_TOGGLED, {
enabled: true
});
}
export function disableKeyboardMode() {
Dispatcher.dispatch({
type: "ACCESSIBILITY_KEYBOARD_MODE_DISABLE"
});
AnalyticsUtils.track(AnalyticEvents.KEYBOARD_MODE_TOGGLED, {
enabled: false
});
}
export function toggleDesaturateUserColors() {
Dispatcher.dispatch({
type: "ACCESSIBILITY_DESATURATE_ROLES_TOGGLE"
});
}
export function toggleColorblindMode() {
Dispatcher.dispatch({
type: "ACCESSIBILITY_COLORBLIND_TOGGLE"
});
}
export function forcedColorsModalSeen() {
Dispatcher.dispatch({
type: "ACCESSIBILITY_FORCED_COLORS_MODAL_SEEN"
});
}
export function keyboardNavigationExplainerModalSeen() {
Dispatcher.dispatch({
type: "KEYBOARD_NAVIGATION_EXPLAINER_MODAL_SEEN"
});
}
export function systemPrefersReducedMotionChanged(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SYSTEM_PREFERS_REDUCED_MOTION_CHANGED",
systemPrefersReducedMotion: a0
});
}
export function systemPrefersCrossfadesChanged(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SYSTEM_PREFERS_CROSSFADES_CHANGED",
systemPrefersCrossfades: a0
});
}
export function setLowContrastMode(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_LOW_CONTRAST_TOGGLE",
lowContrastMode: a0
});
}
export function setSaturation(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_SATURATION",
saturation: a0
});
}
export function setPrefersReducedMotion(a0) {
let useReducedMotion = AccessibilityStore.useReducedMotion;
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_PREFERS_REDUCED_MOTION",
prefersReducedMotion: a0
});
if (!useReducedMotion && AccessibilityStore.useReducedMotion) {
UserSettingsActionCreators.applySettingsOverride({
gifAutoPlay: {
value: false,
reasonKey: SettingsOverrideReasonKeys.REDUCED_MOTION
},
animateEmoji: {
value: false,
reasonKey: SettingsOverrideReasonKeys.REDUCED_MOTION
},
animateStickers: {
value: StickerAnimationSettings.ANIMATE_ON_INTERACTION,
reasonKey: SettingsOverrideReasonKeys.REDUCED_MOTION_STICKERS
}
});
} else {
if (useReducedMotion) {
useReducedMotion = !AccessibilityStore.useReducedMotion;
}
if (useReducedMotion) {
UserSettingsActionCreators.clearSettingsOverride("gifAutoPlay", "animateEmoji", "animateStickers");
}
}
}
export function setSyncForcedColors(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_SYNC_FORCED_COLORS",
syncForcedColors: a0
});
}
export function systemColorPreferencesChanged(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SYSTEM_COLOR_PREFERENCES_CHANGED",
systemForcedColors: a0
});
}
export function systemPrefersContrastChanged(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SYSTEM_PREFERS_CONTRAST_CHANGED",
systemPrefersContrast: a0
});
}
export function setAlwaysShowLinkDecorations(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_ALWAYS_SHOW_LINK_DECORATIONS",
alwaysShowLinkDecorations: a0
});
}
export function setEnableCustomCursor(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_ENABLE_CUSTOM_CURSOR",
enableCustomCursor: a0
});
}
export function setRoleStyle(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_ROLE_STYLE",
roleStyle: a0
});
AnalyticsUtils.track(AnalyticEvents.ROLE_STYLE_SETTING_UPDATED, {
role_style: a0
});
}
export function setOfficialMessageStyle(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_OFFICIAL_MESSAGE_STYLE",
officialMessageStyle: a0
});
AnalyticsUtils.track(AnalyticEvents.OFFICIAL_MESSAGE_STYLE_SETTING_UPDATED, {
official_message_style: a0
});
}
export function setDisplayNameStylesEnabled(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_DISPLAY_NAME_STYLES_ENABLED",
enabled: a0
});
}
export function toggleSubmitButton() {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SUBMIT_BUTTON_TOGGLE"
});
}
export function toggleSyncProfileThemeWithUserTheme() {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SYNC_PROFILE_THEME_WITH_USER_THEME_TOGGLE"
});
}
export function setContrast(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_CONTRAST",
contrast: a0
});
}
export function setContrastMode(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_CONTRAST_MODE",
contrastMode: a0
});
}
export function setSwitchIconsEnabled(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_SWITCH_ICONS_ENABLED",
switchIconsEnabled: a0
});
}
export function setChatBarSettings(a0) {
Dispatcher.dispatch({
type: "ACCESSIBILITY_SET_CHAT_BAR_SETTINGS",
...a0
});
}
export function setHDRDynamicRange(a0) {
Dispatcher.dispatch({
type: "UNSYNCED_USER_SETTINGS_UPDATE",
settings: {
hdrDynamicRange: a0
}
});
}
+60
View File
@@ -0,0 +1,60 @@
// Metro module 13259 (f13260).
const r9 = {
NONE: 0,
0: "NONE",
SCREENREADER: 1,
1: "SCREENREADER",
REDUCED_MOTION: 2,
2: "REDUCED_MOTION",
REDUCED_MOTION_PREFERS_CROSSFADES: 4194304
};
r9[4194304] = "REDUCED_MOTION_PREFERS_CROSSFADES";
r9.REDUCED_TRANSPARENCY = 4;
r9[4] = "REDUCED_TRANSPARENCY";
r9.HIGH_CONTRAST = 8;
r9[8] = "HIGH_CONTRAST";
r9.BOLD_TEXT = 16;
r9[16] = "BOLD_TEXT";
r9.GRAYSCALE = 32;
r9[32] = "GRAYSCALE";
r9.INVERT_COLORS = 64;
r9[64] = "INVERT_COLORS";
r9.PREFERS_COLOR_SCHEME_LIGHT = 128;
r9[128] = "PREFERS_COLOR_SCHEME_LIGHT";
r9.PREFERS_COLOR_SCHEME_DARK = 256;
r9[256] = "PREFERS_COLOR_SCHEME_DARK";
r9.CHAT_FONT_SCALE_INCREASED = 512;
r9[512] = "CHAT_FONT_SCALE_INCREASED";
r9.CHAT_FONT_SCALE_DECREASED = 1024;
r9[1024] = "CHAT_FONT_SCALE_DECREASED";
r9.ZOOM_LEVEL_INCREASED = 2048;
r9[2048] = "ZOOM_LEVEL_INCREASED";
r9.ZOOM_LEVEL_DECREASED = 4096;
r9[4096] = "ZOOM_LEVEL_DECREASED";
r9.MESSAGE_GROUP_SPACING_INCREASED = 8192;
r9[8192] = "MESSAGE_GROUP_SPACING_INCREASED";
r9.MESSAGE_GROUP_SPACING_DECREASED = 16384;
r9[16384] = "MESSAGE_GROUP_SPACING_DECREASED";
r9.DARK_SIDEBAR = 32768;
r9[32768] = "DARK_SIDEBAR";
r9.REDUCED_MOTION_FROM_USER_SETTINGS = 65536;
r9[65536] = "REDUCED_MOTION_FROM_USER_SETTINGS";
r9.SATURATION_LEVEL_DECREASED = 131072;
r9[131072] = "SATURATION_LEVEL_DECREASED";
r9.FORCED_COLORS = 262144;
r9[262144] = "FORCED_COLORS";
r9.FORCED_COLORS_FROM_USER_SETTINGS = 524288;
r9[524288] = "FORCED_COLORS_FROM_USER_SETTINGS";
r9.ROLE_STYLE_ADJUSTED = 1048576;
r9[1048576] = "ROLE_STYLE_ADJUSTED";
r9.SYNC_PROFILE_THEME_WITH_USER_THEME = 2097152;
r9[2097152] = "SYNC_PROFILE_THEME_WITH_USER_THEME";
r9.CONTRAST_LEVEL_INCREASED = 8388608;
r9[8388608] = "CONTRAST_LEVEL_INCREASED";
r9.CONTRAST_LEVEL_DECREASED = 16777216;
r9[16777216] = "CONTRAST_LEVEL_DECREASED";
r9.UI_DENSITY_COMPACT = 33554432;
r9[33554432] = "UI_DENSITY_COMPACT";
r9.UI_DENSITY_SPACIOUS = 67108864;
r9[67108864] = "UI_DENSITY_SPACIOUS";
export { r9 as AccessibilityFeatureFlags };
+565
View File
@@ -0,0 +1,565 @@
// Metro module 4181 (f4182).
import _objectWithoutProperties from "../../_bundle/_objectWithoutProperties";
import ThemeStore from "../user_settings/ThemeStore";
import UserSettingsProtoStore from "../user_settings/UserSettingsProtoStore";
import { Accessibility, ThemeTypes } from "../../Constants";
import { DEFAULT_COMPACT_SPACING, DEFAULT_COZY_SPACING, MESSAGE_GROUP_SPACING } from "../messages/MessageConstants";
import CrossPlatformNativeUtils_native from "../../utils/CrossPlatformNativeUtils.native";
import { ClientThemeSettings, MessageDisplayCompact } from "../user_settings/UserSettings";
import Module589 from "../../_bundle/Module589";
import { Storage } from "../../_bundle/Module595";
import { LOW_SATURATION_THRESHOLD } from "../../design/shared";
import Dispatcher from "../../Dispatcher";
import { HermesBuiltin } from "../../_hermes/prelude";
let _excluded, c2407_12, c2407_13, c2407_14, c2407_15, c2407_16;
const maybeApplyNoTextColorForLightCustomTheme = function maybeApplyNoTextColorForLightCustomTheme() {
const officialMessageStyleExplicitlySet = c2407_15.officialMessageStyleExplicitlySet;
let r3 = !officialMessageStyleExplicitlySet;
if (!officialMessageStyleExplicitlySet) {
let r1 = c2407_15.officialMessageStyle !== "default" || ThemeStore.theme !== ThemeTypes.LIGHT;
if (!r1) {
const setting = ClientThemeSettings.getSetting();
let r2 = setting.backgroundGradientPresetId != null;
if (!r2) {
const customUserThemeSettings = setting.customUserThemeSettings;
let r26 = customUserThemeSettings == null ? void 0 : customUserThemeSettings.colors?.length;
if (r26 == null) {
r26 = 0;
}
r2 = r26 > 0;
}
r1 = !r2;
}
let r29 = !r1;
if (!r1) {
c2407_15.officialMessageStyle = "no_text_color";
r29 = true;
}
r3 = r29;
}
return r3;
};
_excluded = ["fontScale"];
c2407_12 = {
DEFAULT: "default",
HIGH: "high"
};
c2407_13 = {
FLEXIBLE: "flexible",
CONDENSED: "condensed",
HIDDEN: "hidden"
};
c2407_14 = {
fontSize: Accessibility.FONT_SIZE_DEFAULT,
zoom: Accessibility.ZOOM_DEFAULT,
keyboardModeEnabled: false,
contrastMode: c2407_12.DEFAULT,
colorblindMode: false,
lowContrastMode: false,
saturation: 1,
contrast: 1,
desaturateUserColors: false,
forcedColorsModalSeen: false,
keyboardNavigationExplainerModalSeen: false,
messageGroupSpacing: null,
systemPrefersReducedMotion: "no-preference",
systemPrefersCrossfades: false,
prefersReducedMotion: "auto",
systemForcedColors: "none",
syncForcedColors: true,
systemPrefersContrast: "no-preference",
alwaysShowLinkDecorations: false,
roleStyle: "username",
officialMessageStyle: "default",
officialMessageStyleExplicitlySet: false,
displayNameStylesEnabled: true,
submitButtonEnabled: false,
syncProfileThemeWithUserTheme: false,
enableCustomCursor: true,
switchIconsEnabled: false,
appsButtonEnabled: true,
expressionPickerFormat: c2407_13.FLEXIBLE,
condensePickerWhenNarrow: true,
emojiButtonEnabled: true,
gifButtonEnabled: true,
stickerButtonEnabled: true
};
c2407_15 = c2407_14;
c2407_16 = {
12: "font-size-12",
14: "font-size-14",
15: "font-size-15",
16: "font-size-16",
18: "font-size-18",
20: "font-size-20",
24: "font-size-24"
};
class AccessibilityStore extends Module589.DeviceSettingsStore {
static displayName = "AccessibilityStore";
static persistKey = "AccessibilityStore";
static migrations = [() => {
const fontScale2 = Storage.get("a11yFontScale") || 100;
const zoom2 = Storage.get("a11yZoom") || Accessibility.ZOOM_DEFAULT;
const colorblindMode2 = Storage.get("a11yColorblindMode") || false;
Storage.remove("a11yFontScale");
Storage.remove("a11yZoom");
Storage.remove("a11yColorblindMode");
return {
fontScale: fontScale2,
zoom: zoom2,
colorblindMode: colorblindMode2,
keyboardModeEnabled: false
};
}, (a0) => {
const fontScale2 = a0.fontScale;
return {
..._objectWithoutProperties(a0, _excluded),
fontSize: fontScale2 === 82 ? 12 : fontScale2 === 92 ? 15 : fontScale2 !== 100 ? fontScale2 === 110 ? 18 : fontScale2 === 125 ? 20 : fontScale2 === 150 ? 24 : 16 : 16
};
}, (a0) => ({
...a0,
darkSidebar: false
}), (a0) => ({
...a0,
messageGroupSpacing: null
}), (a0) => ({
...a0,
systemPrefersReducedMotion: "no-preference",
prefersReducedMotion: "auto"
}), (a0) => ({
...a0,
alwaysShowLinkDecorations: a0.saturation <= LOW_SATURATION_THRESHOLD
}), (a0) => ({
...a0,
disableVoiceBackgrounds: false
}), (a0) => {
try {
delete a0["disableVoiceBackgrounds"];
} catch ($e) {}
return a0;
}, (a0) => {
try {
delete a0["hideGuildTags"];
} catch ($e) {}
return a0;
}, (a0) => ({
...a0,
enableCustomCursor: true
}), (a0) => ({
...a0,
appsButtonEnabled: true,
expressionPickerFormat: c2407_13.FLEXIBLE,
condensePickerWhenNarrow: true,
emojiButtonEnabled: true,
gifButtonEnabled: true,
stickerButtonEnabled: true
})];
initialize(a0) {
let r6 = a0;
this.waitFor(UserSettingsProtoStore);
const r14 = {
...c2407_14
};
if (a0 == null) {
r6 = null;
}
HermesBuiltin.copyDataProperties(r14, r6);
c2407_15 = r14;
if (isNaN(c2407_15.fontSize)) {
c2407_15.fontSize = Accessibility.FONT_SIZE_DEFAULT;
}
if (MESSAGE_GROUP_SPACING.indexOf(c2407_15.messageGroupSpacing != null ? c2407_15.messageGroupSpacing : -1) < 0) {
c2407_15.messageGroupSpacing = null;
}
this.syncWith([UserSettingsProtoStore], maybeApplyNoTextColorForLightCustomTheme);
}
get fontScale() {
return c2407_15.fontSize / Accessibility.FONT_SIZE_DEFAULT * 100;
}
get fontSize() {
return c2407_15.fontSize;
}
get isFontScaledUp() {
return c2407_15.fontSize > Accessibility.FONT_SIZE_DEFAULT;
}
get isFontScaledDown() {
return c2407_15.fontSize < Accessibility.FONT_SIZE_DEFAULT;
}
get fontScaleClass() {
let r12;
let r4 = c2407_16[this.fontSize];
if (r4 == null) {
r4 = "";
}
if (this.isFontScaledUp) {
r12 = `a11y-font-scaled-up ${r4}`;
} else {
const isFontScaledDown2 = this.isFontScaledDown;
const concat = HermesInternal.concat;
r12 = isFontScaledDown2 ? concat.call("a11y-font-scaled-down ", r4) : concat.call("", r4);
}
return r12;
}
get zoom() {
return c2407_15.zoom;
}
get isZoomedIn() {
return c2407_15.zoom > Accessibility.ZOOM_DEFAULT;
}
get isZoomedOut() {
return c2407_15.zoom < Accessibility.ZOOM_DEFAULT;
}
get keyboardModeEnabled() {
return c2407_15.keyboardModeEnabled;
}
get colorblindMode() {
return c2407_15.colorblindMode;
}
get lowContrastMode() {
return c2407_15.lowContrastMode;
}
get saturation() {
return c2407_15.saturation;
}
get contrast() {
return c2407_15.contrast;
}
get desaturateUserColors() {
return c2407_15.desaturateUserColors;
}
get forcedColorsModalSeen() {
return c2407_15.forcedColorsModalSeen;
}
get keyboardNavigationExplainerModalSeen() {
return c2407_15.keyboardNavigationExplainerModalSeen;
}
get messageGroupSpacing() {
return c2407_15.messageGroupSpacing != null ? c2407_15.messageGroupSpacing : MessageDisplayCompact.getSetting() ? DEFAULT_COMPACT_SPACING : DEFAULT_COZY_SPACING;
}
get isMessageGroupSpacingIncreased() {
return this.messageGroupSpacing > (MessageDisplayCompact.getSetting() ? DEFAULT_COMPACT_SPACING : DEFAULT_COZY_SPACING);
}
get isMessageGroupSpacingDecreased() {
return this.messageGroupSpacing < (MessageDisplayCompact.getSetting() ? DEFAULT_COMPACT_SPACING : DEFAULT_COZY_SPACING);
}
get isSubmitButtonEnabled() {
return c2407_15.submitButtonEnabled;
}
get syncProfileThemeWithUserTheme() {
return c2407_15.syncProfileThemeWithUserTheme;
}
get systemPrefersReducedMotion() {
return c2407_15.systemPrefersReducedMotion;
}
get rawPrefersReducedMotion() {
return c2407_15.prefersReducedMotion;
}
get useReducedMotion() {
const prefersReducedMotion = c2407_15.prefersReducedMotion;
if (prefersReducedMotion === "no-preference") {
return false;
}
if (prefersReducedMotion === "reduce") {
return true;
}
return c2407_15.systemPrefersReducedMotion === "reduce";
}
get systemForcedColors() {
return c2407_15.systemForcedColors;
}
get syncForcedColors() {
return c2407_15.syncForcedColors;
}
get useForcedColors() {
const syncForcedColors2 = c2407_15.syncForcedColors;
return !(syncForcedColors2 ? c2407_15.systemForcedColors !== "active" : !syncForcedColors2);
}
get systemPrefersContrast() {
return c2407_15.systemPrefersContrast;
}
get systemPrefersCrossfades() {
return c2407_15.systemPrefersCrossfades;
}
get alwaysShowLinkDecorations() {
return c2407_15.alwaysShowLinkDecorations;
}
get enableCustomCursor() {
return c2407_15.enableCustomCursor;
}
get roleStyle() {
return c2407_15.roleStyle;
}
get officialMessageStyle() {
return c2407_15.officialMessageStyle;
}
get displayNameStylesEnabled() {
return c2407_15.displayNameStylesEnabled;
}
get isHighContrastModeEnabled() {
return c2407_15.contrastMode === c2407_12.HIGH;
}
get isSwitchIconsEnabled() {
return c2407_15.switchIconsEnabled;
}
get isAppsButtonEnabled() {
return c2407_15.appsButtonEnabled;
}
get expressionPickerFormat() {
return c2407_15.expressionPickerFormat;
}
get condensePickerWhenNarrow() {
return c2407_15.condensePickerWhenNarrow;
}
get isEmojiButtonEnabled() {
return c2407_15.emojiButtonEnabled;
}
get isGifButtonEnabled() {
return c2407_15.gifButtonEnabled;
}
get isStickerButtonEnabled() {
return c2407_15.stickerButtonEnabled;
}
getUserAgnosticState() {
return c2407_15;
}
}
const accessibilityStore = new AccessibilityStore(Dispatcher, {
ACCESSIBILITY_SET_FONT_SIZE: function handleFontScaleTo({ fontSize: fontSize2 }) {
if (!(Accessibility.FONT_SIZES.indexOf(fontSize2) >= 0)) {
fontSize2 = Accessibility.FONT_SIZE_DEFAULT;
}
if (!(fontSize2 > Accessibility.FONT_SIZE_MAX) && !(fontSize2 < Accessibility.FONT_SIZE_MIN) && c2407_15.fontSize !== fontSize2) {
const r15 = {
...c2407_15
};
c2407_15 = r15;
r15.fontSize = fontSize2;
return void 0;
}
return false;
},
ACCESSIBILITY_SET_ZOOM: function handleZoomTo(a0) {
if (!(a0.zoom < Accessibility.ZOOM_MIN) && !(a0.zoom > Accessibility.ZOOM_MAX) && c2407_15.zoom !== a0.zoom) {
const r13 = {
...c2407_15
};
c2407_15 = r13;
r13.zoom = a0.zoom;
CrossPlatformNativeUtils_native.setZoomFactor(c2407_15.zoom);
return void 0;
}
return false;
},
ACCESSIBILITY_RESET_TO_DEFAULT: function handleResetToDefault() {
const fontSize2 = c2407_15.fontSize;
const FONT_SIZE_DEFAULT = Accessibility.FONT_SIZE_DEFAULT;
const zoom2 = c2407_15.zoom;
const ZOOM_DEFAULT = Accessibility.ZOOM_DEFAULT;
if (fontSize2 === FONT_SIZE_DEFAULT && zoom2 === ZOOM_DEFAULT) {
return false;
}
const r11 = {
...c2407_15
};
c2407_15 = r11;
if (r11.fontSize !== Accessibility.FONT_SIZE_DEFAULT) {
c2407_15.fontSize = Accessibility.FONT_SIZE_DEFAULT;
}
if (c2407_15.zoom !== Accessibility.ZOOM_DEFAULT) {
c2407_15.zoom = Accessibility.ZOOM_DEFAULT;
CrossPlatformNativeUtils_native.setZoomFactor(c2407_15.zoom);
}
},
ACCESSIBILITY_KEYBOARD_MODE_ENABLE: function handleEnableKeyboardMode() {
if (c2407_15.keyboardModeEnabled) {
return false;
}
const r7 = {
...c2407_15
};
c2407_15 = r7;
r7.keyboardModeEnabled = true;
},
ACCESSIBILITY_KEYBOARD_MODE_DISABLE: function handleDisableKeyboardMode() {
if (c2407_15.keyboardModeEnabled) {
const r7 = {
...c2407_15
};
c2407_15 = r7;
r7.keyboardModeEnabled = false;
return void 0;
}
return false;
},
ACCESSIBILITY_COLORBLIND_TOGGLE: function handleToggleColorblindMode() {
const r1 = {
...c2407_15
};
c2407_15 = r1;
r1.colorblindMode = !r1.colorblindMode;
},
ACCESSIBILITY_LOW_CONTRAST_TOGGLE: function handleToggleLowContrastMode() {
const r1 = {
...c2407_15
};
c2407_15 = r1;
r1.lowContrastMode = !r1.lowContrastMode;
},
ACCESSIBILITY_SET_SATURATION: function handleSetSaturation(a0) {
const r2 = {
...c2407_15
};
c2407_15 = r2;
r2.saturation = a0.saturation;
},
ACCESSIBILITY_DESATURATE_ROLES_TOGGLE: function handledesaturateUserColorsToggle() {
const r1 = {
...c2407_15
};
c2407_15 = r1;
r1.desaturateUserColors = !r1.desaturateUserColors;
},
ACCESSIBILITY_SYSTEM_COLOR_PREFERENCES_CHANGED: function handleSystemColorPreferencesChanged({ systemForcedColors: systemForcedColors2 }) {
if (systemForcedColors2 == null) {
systemForcedColors2 = "none";
}
c2407_15 = {
...c2407_15,
systemForcedColors: systemForcedColors2
};
},
ACCESSIBILITY_SYSTEM_PREFERS_CONTRAST_CHANGED: function handleSystemPrefersContrastChanged(a0) {
if (c2407_15.systemPrefersContrast === a0.systemPrefersContrast) {
return false;
}
c2407_15 = {
...c2407_15,
systemPrefersContrast: a0.systemPrefersContrast
};
},
ACCESSIBILITY_SYSTEM_PREFERS_REDUCED_MOTION_CHANGED: function handleSystemPrefersReducedMotionChanged(a0) {
if (c2407_15.systemPrefersReducedMotion === a0.systemPrefersReducedMotion) {
return false;
}
c2407_15 = {
...c2407_15,
systemPrefersReducedMotion: a0.systemPrefersReducedMotion
};
},
ACCESSIBILITY_SYSTEM_PREFERS_CROSSFADES_CHANGED: function handleSystemPrefersCrossfadesChanged(a0) {
if (c2407_15.systemPrefersCrossfades === a0.systemPrefersCrossfades) {
return false;
}
c2407_15 = {
...c2407_15,
systemPrefersCrossfades: a0.systemPrefersCrossfades
};
},
ACCESSIBILITY_SET_PREFERS_REDUCED_MOTION: function handleSetPrefersReducedMotion(a0) {
if (c2407_15.prefersReducedMotion === a0.prefersReducedMotion) {
return false;
}
c2407_15 = {
...c2407_15,
prefersReducedMotion: a0.prefersReducedMotion
};
},
ACCESSIBILITY_SET_SYNC_FORCED_COLORS: function handleSetSyncForcedColors(a0) {
c2407_15.syncForcedColors = a0.syncForcedColors;
},
ACCESSIBILITY_SET_ALWAYS_SHOW_LINK_DECORATIONS: function handleSetAlwaysShowLinkDecorations(a0) {
c2407_15 = {
...c2407_15,
alwaysShowLinkDecorations: a0.alwaysShowLinkDecorations
};
},
ACCESSIBILITY_SET_ENABLE_CUSTOM_CURSOR: function handleSetEnableCustomCursor(a0) {
c2407_15 = {
...c2407_15,
enableCustomCursor: a0.enableCustomCursor
};
},
ACCESSIBILITY_SET_ROLE_STYLE: function handleSetRoleStyle(a0) {
c2407_15.roleStyle = a0.roleStyle;
},
ACCESSIBILITY_SET_OFFICIAL_MESSAGE_STYLE: function handleSetOfficialMessageStyle(a0) {
c2407_15.officialMessageStyle = a0.officialMessageStyle;
c2407_15.officialMessageStyleExplicitlySet = true;
},
ACCESSIBILITY_SET_DISPLAY_NAME_STYLES_ENABLED: function handleSetDisplayNameStylesEnabled(a0) {
c2407_15.displayNameStylesEnabled = a0.enabled;
},
ACCESSIBILITY_FORCED_COLORS_MODAL_SEEN: function handleForcedColorsModalSeen() {
c2407_15.forcedColorsModalSeen = true;
},
KEYBOARD_NAVIGATION_EXPLAINER_MODAL_SEEN: function handleKeyboardNavigationExplainerModalSeen() {
c2407_15 = {
...c2407_15,
keyboardNavigationExplainerModalSeen: true
};
},
ACCESSIBILITY_SET_MESSAGE_GROUP_SPACING: function handleMessageGroupSpacingChange(a0) {
c2407_15 = {
...c2407_15,
messageGroupSpacing: a0.messageGroupSpacing
};
},
ACCESSIBILITY_SUBMIT_BUTTON_TOGGLE: function handleSubmitButtonToggle() {
const r1 = {
...c2407_15
};
c2407_15 = r1;
r1.submitButtonEnabled = !r1.submitButtonEnabled;
},
ACCESSIBILITY_SYNC_PROFILE_THEME_WITH_USER_THEME_TOGGLE: function handleSyncProfileThemeWithUserThemeToggle() {
const r1 = {
...c2407_15
};
c2407_15 = r1;
r1.syncProfileThemeWithUserTheme = !r1.syncProfileThemeWithUserTheme;
},
ACCESSIBILITY_SET_CONTRAST: function handleSetContrast(a0) {
c2407_15 = {
...c2407_15,
contrast: a0.contrast
};
},
ACCESSIBILITY_SET_CONTRAST_MODE: function handleSetContrastMode(a0) {
c2407_15 = {
...c2407_15,
contrastMode: a0.contrastMode
};
},
ACCESSIBILITY_SET_SWITCH_ICONS_ENABLED: function handleSetSwitchIconsEnabled(a0) {
c2407_15 = {
...c2407_15,
switchIconsEnabled: a0.switchIconsEnabled
};
},
ACCESSIBILITY_SET_CHAT_BAR_SETTINGS: function handleSetChatBarSettings(a0) {
c2407_15 = {
...c2407_15,
...a0.appsButtonEnabled != null && {
appsButtonEnabled: a0.appsButtonEnabled
},
...a0.expressionPickerFormat != null && {
expressionPickerFormat: a0.expressionPickerFormat
},
...a0.condensePickerWhenNarrow != null && {
condensePickerWhenNarrow: a0.condensePickerWhenNarrow
},
...a0.emojiButtonEnabled != null && {
emojiButtonEnabled: a0.emojiButtonEnabled
},
...a0.gifButtonEnabled != null && {
gifButtonEnabled: a0.gifButtonEnabled
},
...a0.stickerButtonEnabled != null && {
stickerButtonEnabled: a0.stickerButtonEnabled
}
};
}
});
export default accessibilityStore;
export { c2407_12 as AccessibilityContrastMode };
export { c2407_13 as ExpressionPickerFormat };
@@ -0,0 +1,100 @@
// Metro module 13507 (f13508).
import AuthenticationStore from "../../../stores/AuthenticationStore";
import ChannelStore from "../../../stores/ChannelStore";
import RelationshipStore from "../../../stores/RelationshipStore";
import UserStore from "../../../stores/UserStore";
import { isIOS } from "../../../utils/PlatformUtils";
import { NativePhoneIntegrationEnabled } from "../../user_settings/UserSettings";
import { computeChannelName } from "../../channel/useChannelName";
import { AccessibilityAnnouncer } from "../../../design/shared";
import { intl, t } from "../../../intl/index.native";
import LifecycleManager from "../../../lib/LifecycleManager";
import Dispatcher from "../../../Dispatcher";
let c9376_7 = new Set();
let c9376_8 = new Map();
class AccessibilityCallManager extends LifecycleManager {
handleCallCreate = ({ channelId, ongoingRings }) => {
const id = AuthenticationStore.getId();
const r0 = id != null && id in ongoingRings;
L9: {
c9376_8.set(channelId, r0);
if (r0 && !c9376_7.has(channelId)) {
if (isIOS() && NativePhoneIntegrationEnabled.getSetting()) {
break L9;
}
const channel = ChannelStore.getChannel(channelId);
if (channel != null) {
const callLocation = computeChannelName(channel, UserStore, RelationshipStore);
if (callLocation != null) {
c9376_7.add(channelId);
AccessibilityAnnouncer.announce(intl.formatToPlainString(t["Bm0A/p"], {
callLocation
}), "assertive");
}
}
}
}
};
handleCallUpdate = ({ channelId, ongoingRings }) => {
const id = AuthenticationStore.getId();
let r17 = c9376_8.get(channelId);
if (r17 == null) {
r17 = false;
}
const r0 = id != null && id in ongoingRings;
L16: {
c9376_8.set(channelId, r0);
if (!r17 && r0) {
if (c9376_7.has(channelId)) {
break L16;
}
if (isIOS() && NativePhoneIntegrationEnabled.getSetting()) {
break L16;
}
const channel = ChannelStore.getChannel(channelId);
if (channel == null) {
break L16;
}
const callLocation = computeChannelName(channel, UserStore, RelationshipStore);
if (callLocation == null) {
break L16;
}
c9376_7.add(channelId);
AccessibilityAnnouncer.announce(intl.formatToPlainString(t["Bm0A/p"], {
callLocation
}), "assertive");
} else {
if (r17) {
r17 = !r0;
}
if (r17) {
c9376_7.delete(channelId);
}
}
}
};
handleCallDelete = ({ channelId }) => {
c9376_8.delete(channelId);
c9376_7.delete(channelId);
};
handleConnectionOpen = () => {
c9376_8.clear();
c9376_7.clear();
};
_initialize() {
Dispatcher.subscribe("CALL_CREATE", this.handleCallCreate);
Dispatcher.subscribe("CALL_UPDATE", this.handleCallUpdate);
Dispatcher.subscribe("CALL_DELETE", this.handleCallDelete);
Dispatcher.subscribe("CONNECTION_OPEN", this.handleConnectionOpen);
}
_terminate() {
Dispatcher.unsubscribe("CALL_CREATE", this.handleCallCreate);
Dispatcher.unsubscribe("CALL_UPDATE", this.handleCallUpdate);
Dispatcher.unsubscribe("CALL_DELETE", this.handleCallDelete);
Dispatcher.unsubscribe("CONNECTION_OPEN", this.handleConnectionOpen);
c9376_8.clear();
c9376_7.clear();
}
}
const accessibilityCallManager = new AccessibilityCallManager();
export default accessibilityCallManager;
@@ -0,0 +1,84 @@
// Metro module 4585 (f4586).
import { NativeModules } from "react-native";
import Logger from "../../debug/Logger";
import LifecycleManager from "../../../lib/LifecycleManager";
import { getIsScreenReaderEnabled, addScreenReaderEnabledListener } from "./useIsScreenReaderEnabled.native";
import { isAndroid } from "../../../utils/PlatformUtils";
import Module4587 from "../../../_bundle/Module4587";
let c2792_4 = new Logger("AccessibilityFocusLockManager");
class AccessibilityFocusLockManager extends LifecycleManager {
_screenReaderEnabled = getIsScreenReaderEnabled();
_focusLockedNativeIDGroups = new Map();
_focusLockEnabled = false;
_focusLockEnabledDelayTimeoutId = -1;
_focusLockEnabledDelayTimeout = 250;
_updateAccessibilityFocusLock(r3 = false) {
let c14333_1;
let c14333_0 = r3;
let r4 = void 0;
c14333_1 = void 0;
clearTimeout(this._focusLockEnabledDelayTimeoutId);
c14333_1 = void 0;
for (const item of this._focusLockedNativeIDGroups.values()) {
r4 = item;
c14333_1 = item;
}
if (r4 != null && this._screenReaderEnabled) {
this._focusLockEnabledDelayTimeoutId = setTimeout(() => {
if (isAndroid()) {
Module4587.enableFocusLock(c14333_1, c14333_0);
} else {
NativeModules.DCDAccessibilityManager.enableFocusLock(c14333_1, c14333_0);
}
}, this._focusLockEnabledDelayTimeout);
this._focusLockEnabled = true;
} else if (this._focusLockEnabled) {
if (isAndroid()) {
Module4587.disableFocusLock();
} else {
NativeModules.DCDAccessibilityManager.disableFocusLock();
}
this._focusLockEnabled = false;
}
}
_initialize() {
this._screenReaderEnabledListener = addScreenReaderEnabledListener((a0) => {
this._screenReaderEnabled = a0;
this._updateAccessibilityFocusLock();
});
}
_terminate() {
const _screenReaderEnabledListener = this._screenReaderEnabledListener;
if (_screenReaderEnabledListener != null) {
_screenReaderEnabledListener.call(this);
}
this._focusLockedNativeIDGroups.clear();
this._updateAccessibilityFocusLock();
}
enableAccessibilityFocusLock(a0) {
if (a0.length === 0) {
c2792_4.error("No target view nativeIDs to add.");
}
for (const item of this._focusLockedNativeIDGroups.values()) {
for (const item2 of item) {
if (a0.includes(item2)) {
c2792_4.error(`Duplicate target view nativeID ${item2} already accessibility focus locked.`);
}
}
}
this._focusLockedNativeIDGroups.set(a0[0], a0);
this._updateAccessibilityFocusLock(true);
}
disableAccessibilityFocusLock(a0) {
if (a0.length === 0) {
c2792_4.error("No target view nativeIDs to remove.");
}
if (!this._focusLockedNativeIDGroups.has(a0[0])) {
c2792_4.error(`No target view nativeID ${a0[0]} accessibility focus locked.`);
}
this._focusLockedNativeIDGroups.delete(a0[0]);
this._updateAccessibilityFocusLock();
}
}
const accessibilityFocusLockManager = new AccessibilityFocusLockManager();
export default accessibilityFocusLockManager;
@@ -0,0 +1,22 @@
// Metro module 7735 (f7736).
import { createApexExperiment } from "../../experiments/apex/index";
import { getIsScreenReaderEnabled } from "./useIsScreenReaderEnabled.native";
const apexExperiment = createApexExperiment({
kind: "user",
name: "2026-03-mobile-accessibility-label-optimization",
defaultConfig: {
enabled: false
},
variations: {
1: {
enabled: true
}
}
});
const config = apexExperiment.getConfig({
location: "default"
});
export default apexExperiment;
export function shouldSkipAccessibilityLabels() {
return config.enabled && !getIsScreenReaderEnabled();
}
@@ -0,0 +1,82 @@
// Metro module 13499 (f13500).
import { AccessibilityInfo, Appearance } from "react-native";
import AccessibilityStore from "../AccessibilityStore";
import { AnalyticEvents } from "../../../Constants";
import { SystemTheme } from "../../user_settings/ThemeConstants";
import AccessibilitySystemFeatures from "./AccessibilitySystemFeatures";
import Dispatcher from "../../../Dispatcher";
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
import { updateSaturation } from "../../themes/native/updateSaturation";
import updateSharedValueIfChanged_native from "../../reanimated/utils/updateSharedValueIfChanged.native";
import { accessibilityPreferencesSharedValue } from "./AccessibilityPreferencesSharedValue";
import { setSystemTheme } from "../../user_settings/ThemeActionCreators";
import { AccessibilityAnnouncer } from "../../../design/shared";
const r27 = {
init: function init() {
AccessibilitySystemFeatures.init();
this.updateNativeColors();
this.updateMotionSettings();
AccessibilityStore.addChangeListener(this.updateNativeColors);
AccessibilityStore.addChangeListener(this.updateMotionSettings);
Dispatcher.subscribe("CONNECTION_OPEN", this.updateMotionSettings);
Appearance.addChangeListener(this.updateSystemAppearance);
AccessibilityInfo.addEventListener("screenReaderChanged", (a0) => {
this.updateScreenReaderEnabled(a0);
});
Dispatcher.subscribe("ACCESSIBILITY_COLORBLIND_TOGGLE", () => {
AnalyticsUtils.track(AnalyticEvents.LOCAL_SETTINGS_UPDATED, {
colorblind_enabled: AccessibilityStore.colorblindMode
});
});
this.startAnnouncementQueue();
},
updateNativeColors: () => {
updateSaturation(AccessibilityStore.saturation);
},
updateMotionSettings: () => {
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, {
reduceMotion: AccessibilityStore.useReducedMotion,
prefersCrossfades: AccessibilityStore.systemPrefersCrossfades
});
},
checkScreenreaderEnabled: async function checkScreenreaderEnabled() {
const _this = this;
let c27478_1;
c27478_1 = void 0;
let c30632_0 = await AccessibilityInfo.isScreenReaderEnabled();
_this.updateScreenReaderEnabled(c30632_0);
},
updateScreenReaderEnabled: (a0) => {
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, {
screenReaderEnabled: a0
});
},
updateSystemAppearance: (a0) => {
let NO_PREFERENCE = SystemTheme.NO_PREFERENCE;
const colorScheme = a0.colorScheme;
if (colorScheme === "light") {
NO_PREFERENCE = SystemTheme.LIGHT;
} else if (colorScheme === "dark") {
NO_PREFERENCE = SystemTheme.DARK;
}
setSystemTheme(NO_PREFERENCE);
},
startAnnouncementQueue: () => {
let c20500_0 = new Set();
AccessibilityInfo.addEventListener("announcementFinished", (a0) => {
if (!a0.success) {
if (!c20500_0.has(a0.announcement)) {
c20500_0.add(a0.announcement);
setTimeout(() => {
AccessibilityAnnouncer.announce(a0.announcement);
}, 150);
} else {
c20500_0.delete(a0.announcement);
}
} else {
c20500_0.delete(a0.announcement);
}
});
}
};
export default r27;
@@ -0,0 +1,35 @@
// Metro module 13625 (f13626).
import { useMemo } from "react";
import AccessibilityStore from "../AccessibilityStore";
import { useStateFromStoresObject, useStateFromStores } from "../../../_bundle/Module589";
import { AccessibilityPreferencesContext } from "../../../_bundle/Module3908";
export default function AccessibilityPreferencesContextProvider(props) {
let stateFromStores, stateFromStoresObject2, stateFromStores2, stateFromStores3, stateFromStores4;
const children = props.children;
stateFromStores = void 0;
stateFromStoresObject2 = void 0;
stateFromStores2 = void 0;
stateFromStores3 = void 0;
stateFromStores4 = void 0;
const stateFromStoresObject = useStateFromStoresObject([AccessibilityStore], () => ({
enabled: AccessibilityStore.useReducedMotion,
rawValue: AccessibilityStore.rawPrefersReducedMotion
}));
stateFromStores = useStateFromStores([AccessibilityStore], () => AccessibilityStore.systemPrefersCrossfades);
stateFromStoresObject2 = useStateFromStoresObject([AccessibilityStore], () => ({
enabled: AccessibilityStore.useForcedColors,
rawValue: AccessibilityStore.systemForcedColors
}));
stateFromStores2 = useStateFromStores([AccessibilityStore], () => AccessibilityStore.alwaysShowLinkDecorations);
stateFromStores3 = useStateFromStores([AccessibilityStore], () => AccessibilityStore.keyboardModeEnabled);
stateFromStores4 = useStateFromStores([AccessibilityStore], () => AccessibilityStore.isSwitchIconsEnabled);
return <AccessibilityPreferencesContext.Provider value={useMemo(() => ({
reducedMotion: stateFromStoresObject,
prefersCrossfades: stateFromStores,
forcedColors: stateFromStoresObject2,
alwaysShowLinkDecorations: stateFromStores2,
highContrastModeEnabled: false,
keyboardModeEnabled: stateFromStores3,
switchIconsEnabled: stateFromStores4
}), [stateFromStoresObject, stateFromStores, stateFromStoresObject2, stateFromStores2, stateFromStores3, stateFromStores4])}>{children}</AccessibilityPreferencesContext.Provider>;
};
@@ -0,0 +1,9 @@
// Metro module 13501 (f13502).
import { AccessibilityFeatureFlags } from "../AccessibilityConstants";
import * as _native from "../../../design/native";
const r13 = {};
r13[AccessibilityFeatureFlags.REDUCED_MOTION] = "reduceMotion";
r13[AccessibilityFeatureFlags.REDUCED_MOTION_PREFERS_CROSSFADES] = "prefersCrossfades";
r13[AccessibilityFeatureFlags.SCREENREADER] = "screenReaderEnabled";
export { r13 as A11Y_FEATURE_MAP };
export const accessibilityPreferencesSharedValue = _native.accessibilityPreferencesSharedValue;
@@ -0,0 +1,257 @@
// Metro module 13500 (f13501).
import { AccessibilityInfo, AppState, Appearance } from "react-native";
import AccessibilityStore from "../AccessibilityStore";
import { AccessibilityFeatureFlags } from "../AccessibilityConstants";
import { A11Y_FEATURE_MAP, accessibilityPreferencesSharedValue } from "./AccessibilityPreferencesSharedValue";
import updateSharedValueIfChanged_native from "../../reanimated/utils/updateSharedValueIfChanged.native";
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
import { systemPrefersReducedMotionChanged, systemPrefersCrossfadesChanged } from "../AccessibilityActionCreators";
const NONE = AccessibilityFeatureFlags.NONE;
const r24 = {
init: function init() {
AccessibilityStore.addChangeListener(this.handleAccessibilityStoreChanged);
AccessibilityInfo.addEventListener("reduceMotionChanged", this.handleReduceMotionChanged);
AccessibilityInfo.isReduceMotionEnabled().then(this.handleReduceMotionChanged);
AccessibilityInfo.addEventListener("reduceTransparencyChanged", this.handleReduceTransparencyChanged);
AccessibilityInfo.isReduceTransparencyEnabled().then(this.handleReduceTransparencyChanged);
AccessibilityInfo.addEventListener("boldTextChanged", this.handleBoldTextChanged);
AccessibilityInfo.isBoldTextEnabled().then(this.handleBoldTextChanged);
AccessibilityInfo.addEventListener("grayscaleChanged", this.handleGrayscaleChanged);
AccessibilityInfo.isGrayscaleEnabled().then(this.handleGrayscaleChanged);
AccessibilityInfo.addEventListener("invertColorsChanged", this.handleInvertColorsChanged);
AccessibilityInfo.isInvertColorsEnabled().then(this.handleInvertColorsChanged);
this.handlePreferredColorSchemeChanged({
colorScheme: Appearance.getColorScheme()
});
Appearance.addChangeListener(this.handlePreferredColorSchemeChanged);
AppState.addEventListener("change", this.handleAppStateChange);
AnalyticsUtils.setSystemAccessibilityFeatures(this.getActiveFeatures);
},
getActiveFeatures: () => NONE,
handleReduceMotionChanged: (a0) => {
systemPrefersReducedMotionChanged(a0 ? "reduce" : "no-preference");
const REDUCED_MOTION = AccessibilityFeatureFlags.REDUCED_MOTION;
if (AccessibilityStore.useReducedMotion) {
NONE = NONE | REDUCED_MOTION;
} else {
NONE = NONE & ~REDUCED_MOTION;
}
const r22 = A11Y_FEATURE_MAP[REDUCED_MOTION];
if (r22 != null) {
const r29 = {};
r29[r22] = AccessibilityStore.useReducedMotion;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r29);
}
},
handleReduceTransparencyChanged: (a0) => {
const REDUCED_TRANSPARENCY = AccessibilityFeatureFlags.REDUCED_TRANSPARENCY;
if (a0) {
NONE = NONE | REDUCED_TRANSPARENCY;
} else {
NONE = NONE & ~REDUCED_TRANSPARENCY;
}
const r15 = A11Y_FEATURE_MAP[REDUCED_TRANSPARENCY];
if (r15 != null) {
const r22 = {};
r22[r15] = a0;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r22);
}
},
handleBoldTextChanged: (a0) => {
const BOLD_TEXT = AccessibilityFeatureFlags.BOLD_TEXT;
if (a0) {
NONE = NONE | BOLD_TEXT;
} else {
NONE = NONE & ~BOLD_TEXT;
}
const r15 = A11Y_FEATURE_MAP[BOLD_TEXT];
if (r15 != null) {
const r22 = {};
r22[r15] = a0;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r22);
}
},
handleGrayscaleChanged: (a0) => {
const GRAYSCALE = AccessibilityFeatureFlags.GRAYSCALE;
if (a0) {
NONE = NONE | GRAYSCALE;
} else {
NONE = NONE & ~GRAYSCALE;
}
const r15 = A11Y_FEATURE_MAP[GRAYSCALE];
if (r15 != null) {
const r22 = {};
r22[r15] = a0;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r22);
}
},
handleInvertColorsChanged: (a0) => {
const INVERT_COLORS = AccessibilityFeatureFlags.INVERT_COLORS;
if (a0) {
NONE = NONE | INVERT_COLORS;
} else {
NONE = NONE & ~INVERT_COLORS;
}
const r15 = A11Y_FEATURE_MAP[INVERT_COLORS];
if (r15 != null) {
const r22 = {};
r22[r15] = a0;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r22);
}
},
handlePreferredColorSchemeChanged: ({ colorScheme }) => {
if (colorScheme === "dark") {
const PREFERS_COLOR_SCHEME_LIGHT3 = AccessibilityFeatureFlags.PREFERS_COLOR_SCHEME_LIGHT;
NONE = NONE & ~PREFERS_COLOR_SCHEME_LIGHT3;
const r93 = A11Y_FEATURE_MAP[PREFERS_COLOR_SCHEME_LIGHT3];
if (r93 != null) {
const r101 = {};
r101[r93] = false;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r101);
}
const PREFERS_COLOR_SCHEME_DARK3 = AccessibilityFeatureFlags.PREFERS_COLOR_SCHEME_DARK;
NONE = NONE | PREFERS_COLOR_SCHEME_DARK3;
const r110 = A11Y_FEATURE_MAP[PREFERS_COLOR_SCHEME_DARK3];
if (r110 != null) {
const r117 = {};
r117[r110] = true;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r117);
}
} else if (colorScheme === "light") {
const PREFERS_COLOR_SCHEME_DARK2 = AccessibilityFeatureFlags.PREFERS_COLOR_SCHEME_DARK;
NONE = NONE & ~PREFERS_COLOR_SCHEME_DARK2;
const r55 = A11Y_FEATURE_MAP[PREFERS_COLOR_SCHEME_DARK2];
if (r55 != null) {
const r63 = {};
r63[r55] = false;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r63);
}
const PREFERS_COLOR_SCHEME_LIGHT2 = AccessibilityFeatureFlags.PREFERS_COLOR_SCHEME_LIGHT;
NONE = NONE | PREFERS_COLOR_SCHEME_LIGHT2;
const r72 = A11Y_FEATURE_MAP[PREFERS_COLOR_SCHEME_LIGHT2];
if (r72 != null) {
const r79 = {};
r79[r72] = true;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r79);
}
} else {
const PREFERS_COLOR_SCHEME_DARK = AccessibilityFeatureFlags.PREFERS_COLOR_SCHEME_DARK;
NONE = NONE & ~PREFERS_COLOR_SCHEME_DARK;
const r10 = A11Y_FEATURE_MAP[PREFERS_COLOR_SCHEME_DARK];
if (r10 != null) {
const r25 = {};
r25[r10] = false;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r25);
}
const PREFERS_COLOR_SCHEME_LIGHT = AccessibilityFeatureFlags.PREFERS_COLOR_SCHEME_LIGHT;
NONE = NONE & ~PREFERS_COLOR_SCHEME_LIGHT;
const r34 = A11Y_FEATURE_MAP[PREFERS_COLOR_SCHEME_LIGHT];
if (r34 != null) {
const r41 = {};
r41[r34] = false;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r41);
}
}
},
handleAccessibilityStoreChanged: () => {
const REDUCED_MOTION = AccessibilityFeatureFlags.REDUCED_MOTION;
if (AccessibilityStore.useReducedMotion) {
NONE = NONE | REDUCED_MOTION;
} else {
NONE = NONE & ~REDUCED_MOTION;
}
const r12 = A11Y_FEATURE_MAP[REDUCED_MOTION];
if (r12 != null) {
const r25 = {};
r25[r12] = AccessibilityStore.useReducedMotion;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r25);
}
const REDUCED_MOTION_FROM_USER_SETTINGS = AccessibilityFeatureFlags.REDUCED_MOTION_FROM_USER_SETTINGS;
const r2 = AccessibilityStore.rawPrefersReducedMotion !== "auto";
if (r2) {
NONE = NONE | REDUCED_MOTION_FROM_USER_SETTINGS;
} else {
NONE = NONE & ~REDUCED_MOTION_FROM_USER_SETTINGS;
}
const r37 = A11Y_FEATURE_MAP[REDUCED_MOTION_FROM_USER_SETTINGS];
if (r37 != null) {
const r44 = {};
r44[r37] = r2;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r44);
}
const SATURATION_LEVEL_DECREASED = AccessibilityFeatureFlags.SATURATION_LEVEL_DECREASED;
const r48 = AccessibilityStore.saturation < 1;
if (r48) {
NONE = NONE | SATURATION_LEVEL_DECREASED;
} else {
NONE = NONE & ~SATURATION_LEVEL_DECREASED;
}
const r56 = A11Y_FEATURE_MAP[SATURATION_LEVEL_DECREASED];
if (r56 != null) {
const r63 = {};
r63[r56] = r48;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r63);
}
const CONTRAST_LEVEL_DECREASED = AccessibilityFeatureFlags.CONTRAST_LEVEL_DECREASED;
const r67 = AccessibilityStore.contrast < 1;
if (r67) {
NONE = NONE | CONTRAST_LEVEL_DECREASED;
} else {
NONE = NONE & ~CONTRAST_LEVEL_DECREASED;
}
const r75 = A11Y_FEATURE_MAP[CONTRAST_LEVEL_DECREASED];
if (r75 != null) {
const r82 = {};
r82[r75] = r67;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r82);
}
const CONTRAST_LEVEL_INCREASED = AccessibilityFeatureFlags.CONTRAST_LEVEL_INCREASED;
const r86 = AccessibilityStore.contrast > 1;
if (r86) {
NONE = NONE | CONTRAST_LEVEL_INCREASED;
} else {
NONE = NONE & ~CONTRAST_LEVEL_INCREASED;
}
const r94 = A11Y_FEATURE_MAP[CONTRAST_LEVEL_INCREASED];
if (r94 != null) {
const r101 = {};
r101[r94] = r86;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r101);
}
},
handleAppStateChange: (a0) => {
if (a0 === "active") {
AccessibilityInfo.isReduceMotionEnabled().then((result) => {
systemPrefersReducedMotionChanged(result ? "reduce" : "no-preference");
const REDUCED_MOTION = AccessibilityFeatureFlags.REDUCED_MOTION;
if (AccessibilityStore.useReducedMotion) {
NONE = NONE | REDUCED_MOTION;
} else {
NONE = NONE & ~REDUCED_MOTION;
}
const r22 = A11Y_FEATURE_MAP[REDUCED_MOTION];
if (r22 != null) {
const r29 = {};
r29[r22] = AccessibilityStore.useReducedMotion;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r29);
}
});
AccessibilityInfo.prefersCrossFadeTransitions().then((result) => {
const REDUCED_MOTION_PREFERS_CROSSFADES = AccessibilityFeatureFlags.REDUCED_MOTION_PREFERS_CROSSFADES;
if (result) {
NONE = NONE | REDUCED_MOTION_PREFERS_CROSSFADES;
} else {
NONE = NONE & ~REDUCED_MOTION_PREFERS_CROSSFADES;
}
const r8 = A11Y_FEATURE_MAP[REDUCED_MOTION_PREFERS_CROSSFADES];
if (r8 != null) {
const r22 = {};
r22[r8] = result;
updateSharedValueIfChanged_native(accessibilityPreferencesSharedValue, r22);
}
systemPrefersCrossfadesChanged(result);
});
}
}
};
export default r24;
@@ -0,0 +1,15 @@
// Metro module 11728 (f11729).
import * as _Module17 from "react-native";
import { isIosFabric } from "../../../utils/native/FabricUtils";
import * as _Module11729 from "../../../_bundle/Module11729";
let View2 = _Module17.View;
if (isIosFabric()) {
View2 = _Module11729.default;
}
const View = View2;
export default function PortalAccessibilityWorkaroundView(props) {
return <View {...props} {...isIosFabric() ? {
accessibilityLabel: " ",
accessible: false
} : null} collapsable={false} />;
};
@@ -0,0 +1,8 @@
// Metro module 4532 (f4533).
import { NativeModules } from "react-native";
import { isIOS } from "../../../utils/PlatformUtils";
export default function markAccessibilityFocus() {
if (isIOS()) {
NativeModules.DCDAccessibilityManager.markCurrentFocus();
}
};
@@ -0,0 +1,23 @@
// Metro module 4596 (f4597).
import { AccessibilityInfo, findNodeHandle } from "react-native";
import Logger from "../../debug/Logger";
import Module4587 from "../../../_bundle/Module4587";
import { isFabric } from "../../../utils/native/FabricUtils";
let c2799_5 = new Logger("setAccessibilityFocus");
export function setAccessibilityFocus({ ref, delay = 0 }) {
let c14339_0;
c14339_0 = void 0;
if (ref != null) {
const r10 = findNodeHandle(ref.current);
c14339_0 = r10;
if (r10 != null) {
setTimeout(() => {
if (isFabric()) {
AccessibilityInfo.setAccessibilityFocus(c14339_0);
} else {
Module4587.setAccessibilityFocus(c14339_0).catch((error) => c2799_5.warn("Failed with reason:", error));
}
}, delay);
}
}
}
@@ -0,0 +1,8 @@
// Metro module 4531 (f4532).
import { NativeModules } from "react-native";
import { isIOS } from "../../../utils/PlatformUtils";
export default function setAccessibilityFocusPrevious() {
if (isIOS()) {
NativeModules.DCDAccessibilityManager.restorePreviousFocus();
}
};
@@ -0,0 +1,21 @@
// Metro module 8293 (f8294).
import { useRef, useEffect, useMemo } from "react";
export default function useAccessibilityPress(a0, a1) {
const current = a0;
const label = a1;
const ref = useRef(a0);
useEffect(() => {
ref.current = current;
}, [a0]);
return useMemo(() => ({
onAccessibilityAction: (a0) => {
if (a0.nativeEvent.actionName === "activate") {
ref.current();
}
},
accessibilityActions: [{
name: "activate",
label
}]
}), [a1]);
};
@@ -0,0 +1,55 @@
// Metro module 10186 (f10187).
import { useRef, useEffect, useCallback } from "react";
import { AccessibilityInfo } from "react-native";
import { AccessibilityAnnouncer } from "../../../design/shared";
import { isIOS } from "../../../utils/PlatformUtils";
import { getIsScreenReaderEnabled } from "./useIsScreenReaderEnabled.native";
export default function useAnnounceAsyncCompletion() {
const ref = useRef(null);
useEffect(() => () => {
const current = ref.current;
if (current != null) {
current.call(ref);
}
ref.current = null;
}, []);
return useCallback(function(a0) {
let r26;
let c26630_0 = a0;
let r6 = arguments[1];
if (r6 === void 0) {
r6 = "assertive";
}
AccessibilityAnnouncer.announce(a0, r6);
if (isIOS() && getIsScreenReaderEnabled()) {
const current = ref.current;
if (current != null) {
current.call(ref);
}
r26 = new Promise((c30202_0) => {
let c30202_2;
let c30202_1 = setTimeout(() => {
const current = ref.current;
return current == null ? void 0 : current.call(ref);
}, 1800);
c30202_2 = AccessibilityInfo.addEventListener("announcementFinished", (a0) => {
if (a0.announcement === c26630_0 && a0.success) {
const current = ref.current;
if (current != null) {
current.call(ref);
}
}
});
ref.current = () => {
clearTimeout(c30202_1);
c30202_2.remove();
ref.current = null;
c30202_0();
};
});
} else {
r26 = Promise.resolve();
}
return r26;
}, []);
};
@@ -0,0 +1,68 @@
// Metro module 4586 (f4587).
import { AccessibilityInfo } from "react-native";
import { Storage } from "../../../_bundle/Module595";
import { create } from "../../../_bundle/Module644";
import { batchUpdates } from "../../../_bundle/Module705";
function $mk103931($env) {
return () => $env.$parent[0]($mk114597($env));
}
function $mk114597($env) {
return (a0) => {
let r1 = a0;
const screenReaderEnabled = a0.screenReaderEnabled;
const screenReaderEnabled2 = $env[0];
if (screenReaderEnabled !== screenReaderEnabled2) {
const r7 = $env.$parent.$parent;
(0, r7[0])(r7[1][1]).Storage.set(r7[4], screenReaderEnabled2);
r1 = {
screenReaderEnabled: screenReaderEnabled2
};
}
return r1;
};
}
let c2793_4, c2793_5;
let env2793 = {};
const SCREEN_READER_ENABLED_GETTER = (a0) => a0.screenReaderEnabled;
c2793_4 = "screenReaderEnabled";
c2793_5 = create((a0) => {
let env14335 = {
$parent: env2793
};
env14335[0] = a0;
const updateScreenReaderEnabled = function updateScreenReaderEnabled(a0) {
let env25250;
const r1 = env25250 = {
$parent: env14335
};
env25250[0] = a0;
batchUpdates($mk103931(r1));
};
AccessibilityInfo.isScreenReaderEnabled().then(updateScreenReaderEnabled).catch(() => {
let env25251;
const r1 = env25251 = {
$parent: env14335
};
env25251[0] = false;
batchUpdates($mk103931(r1));
});
AccessibilityInfo.addEventListener("screenReaderChanged", updateScreenReaderEnabled);
let screenReaderEnabled = Storage.get(c2793_4);
if (screenReaderEnabled == null) {
screenReaderEnabled = false;
}
return {
screenReaderEnabled
};
});
export function addScreenReaderEnabledListener(c14336_0) {
return c2793_5.subscribe((a0) => {
c14336_0(a0.screenReaderEnabled);
});
}
export function getIsScreenReaderEnabled() {
return c2793_5.getState().screenReaderEnabled;
}
export function useIsScreenReaderEnabled() {
return c2793_5(SCREEN_READER_ENABLED_GETTER);
}