@razorpay/blade
Version:
The Design System that powers Razorpay
9 lines (6 loc) • 1.73 kB
JavaScript
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import { accessibilityMap, accessibilityStateKeys, accessibilityValueKeys, accessibilityRoleMap } from './accessibilityMapNative.js';
import { logger } from '../logger/logger.js';
var makeAccessible=function makeAccessible(props){var newProps={};newProps.accessible=true;for(var key in props){var propKey=key;var propValue=props[propKey];var accessibilityAttribute=accessibilityMap[propKey];if(accessibilityStateKeys.includes(propKey)){newProps.accessibilityState=Object.assign({},newProps.accessibilityState,_defineProperty({},accessibilityAttribute,propValue));continue;}if(accessibilityValueKeys.includes(propKey)){newProps.accessibilityValue=Object.assign({},newProps.accessibilityValue,_defineProperty({},accessibilityAttribute,propValue));continue;}if(propKey==='hidden'){if(propValue===true){newProps.accessibilityElementsHidden=true;newProps.importantForAccessibility='no-hide-descendants';}delete newProps.accessible;delete newProps.accessibilityHidden;continue;}if(accessibilityAttribute){newProps[accessibilityAttribute]=propValue;}else if(__DEV__){logger({message:`No mapping found for ${propKey}. Make sure you have entered valid key`,moduleName:'makeAccessible',type:'warn'});}}if(newProps.accessibilityRole){var role=accessibilityRoleMap[newProps.accessibilityRole];newProps.accessibilityRole=role;if(!role){var validRoles=Object.keys(accessibilityRoleMap).join(', ');console.log(`[Blade: makeAccessible]: Unsupported accessibility role for react-native. Expected one of ${validRoles} but found ${props.role}`);delete newProps.accessibilityRole;}}return newProps;};
export { makeAccessible };
//# sourceMappingURL=makeAccessible.native.js.map