@razorpay/blade
Version:
The Design System that powers Razorpay
19 lines (16 loc) • 2.27 kB
JavaScript
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
import React__default from 'react';
import { Linking } from 'react-native';
import styled from 'styled-components/native';
import getStyledLinkStyles from './getStyledLinkStyles.js';
import { useStyledProps } from '../../Box/styledProps/useStyledProps.js';
import '@babel/runtime/helpers/slicedToArray';
import { logger } from '../../../utils/logger/logger.js';
import { castNativeType } from '../../../utils/platform/castUtils.js';
import '../../../tokens/global/typography.js';
import '../../../tokens/global/motion.js';
import '../../BladeProvider/useTheme.js';
import { jsx } from 'react/jsx-runtime';
var StyledNativeLink=styled.Pressable(function(props){var styledPropsCSSObject=useStyledProps(props);return Object.assign({},getStyledLinkStyles({}),{alignSelf:'flex-start'},styledPropsCSSObject);});var openURL=function(){var _ref=_asyncToGenerator(function*(href){try{var canOpen=yield Linking.canOpenURL(href);if(canOpen){yield Linking.openURL(href);}}catch(_unused){if(__DEV__){logger({message:`Could not open the link "href=${href}"`,moduleName:'BaseLink',type:'warn'});}}});return function openURL(_x){return _ref.apply(this,arguments);};}();var _StyledLink=function _StyledLink(_ref2,ref){var variant=_ref2.variant,disabled=_ref2.disabled,href=_ref2.href,onClick=_ref2.onClick,children=_ref2.children,setCurrentInteraction=_ref2.setCurrentInteraction,accessibilityProps=_ref2.accessibilityProps,style=_ref2.style,testID=_ref2.testID,hitSlop=_ref2.hitSlop,onTouchStart=_ref2.onTouchStart,onTouchEnd=_ref2.onTouchEnd;var handleOnPress=function handleOnPress(event){if(href&&variant==='anchor'){void openURL(href);}if(onClick){onClick(event);}};return jsx(StyledNativeLink,Object.assign({ref:ref},accessibilityProps,{disabled:disabled,onPress:handleOnPress,onPressIn:function onPressIn(){return setCurrentInteraction('focus');},onPressOut:function onPressOut(){return setCurrentInteraction('default');},onTouchStart:castNativeType(onTouchStart),onTouchEnd:castNativeType(onTouchEnd),style:style,testID:testID,hitSlop:hitSlop,children:children}));};var StyledLink=React__default.forwardRef(_StyledLink);
export { StyledLink as default };
//# sourceMappingURL=StyledBaseLink.native.js.map