UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

21 lines (18 loc) 2.08 kB
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties'; import { useCallback } from 'react'; import { useCollapsible } from './CollapsibleContext.js'; import { CollapsibleChevronIcon } from './CollapsibleChevronIcon.native.js'; import { componentIds } from './componentIds.js'; import BaseLink from '../Link/BaseLink/BaseLink.js'; import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js'; import { getStyledProps } from '../Box/styledProps/getStyledProps.js'; import '@babel/runtime/helpers/slicedToArray'; import 'react-native'; import '../../tokens/global/typography.js'; import '../../tokens/global/motion.js'; import '../BladeProvider/useTheme.js'; import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js'; import { jsx } from 'react/jsx-runtime'; var _excluded=["children","size","color","isDisabled","testID","accessibilityLabel"];var _CollapsibleLink=function _CollapsibleLink(_ref){var children=_ref.children,size=_ref.size,_ref$color=_ref.color,color=_ref$color===void 0?'primary':_ref$color,isDisabled=_ref.isDisabled,testID=_ref.testID,accessibilityLabel=_ref.accessibilityLabel,rest=_objectWithoutProperties(_ref,_excluded);var _useCollapsible=useCollapsible(),onExpandChange=_useCollapsible.onExpandChange,isExpanded=_useCollapsible.isExpanded,collapsibleBodyId=_useCollapsible.collapsibleBodyId;var toggleIsExpanded=useCallback(function(){return onExpandChange(!isExpanded);},[onExpandChange,isExpanded]);return jsx(BaseLink,Object.assign({variant:"button",size:size,color:color,icon:CollapsibleChevronIcon,iconPosition:"right",isDisabled:isDisabled,testID:testID,onClick:toggleIsExpanded,accessibilityProps:{label:accessibilityLabel,controls:collapsibleBodyId,expanded:isExpanded}},getStyledProps(rest),makeAnalyticsAttribute(rest),{children:children}));};var CollapsibleLink=assignWithoutSideEffects(_CollapsibleLink,{componentId:componentIds.CollapsibleLink}); export { CollapsibleLink }; //# sourceMappingURL=CollapsibleLink.js.map