import React, { PropsWithChildren } from 'react'; import { Platform, View } from 'react-native'; import { useAMAContext } from '../providers/AMAProvider'; const HideChildrenFromAccessibilityTreeIOS = ({ children, }: PropsWithChildren<{}>) => { return hideChildrenFromAccessibilityTree(children); }; const hideChildrenFromAccessibilityTree = (component: React.ReactNode): any => { return ( React.Children.map(component, child => { return React.isValidElement(child) ? React.cloneElement(child, { // @ts-ignore importantForAccessibility: 'no', accessibilityElementsHidden: true, children: hideChildrenFromAccessibilityTree(child.props.children), }) : child; }) || null ); }; const HideChildrenFromAccessibilityAndroid = ({ children, }: PropsWithChildren<{}>) => { return ( {children} ); }; export const HideChildrenFromAccessibilityTree = ( props: PropsWithChildren<{}>, ): JSX.Element => { const { isScreenReaderEnabled } = useAMAContext(); if (!isScreenReaderEnabled) { return <>{props.children}; } return Platform.select({ default: , ios: , }); };