Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 178x 178x 178x 49x 178x 178x 178x 178x | import _ from 'lodash';
import React from 'react';
import PropTypes from 'react-peek/prop-types';
import Icon, { IIconProps, propTypes as iconPropTypes } from '../Icon';
import { lucidClassNames } from '../../../util/style-helpers';
import { omitProps } from '../../../util/component-types';
const { oneOf } = PropTypes;
const cx = lucidClassNames.bind('&-ChevronIcon');
interface IChevronIconProps extends IIconProps {
direction?: 'up' | 'down' | 'left' | 'right';
}
export const ChevronIcon = ({
className,
direction = 'down',
...passThroughs
}: IChevronIconProps) => {
return (
<Icon
{...omitProps(
passThroughs,
undefined,
_.keys(ChevronIcon.propTypes),
false
)}
{..._.pick(passThroughs, _.keys(iconPropTypes))}
className={cx(
'&',
{
'&-is-down': direction === 'down',
'&-is-up': direction === 'up',
'&-is-left': direction === 'left',
'&-is-right': direction === 'right',
},
className
)}
>
<path d='M.5 4.5l7.5 7 7.5-7' />
</Icon>
);
};
ChevronIcon.displayName = 'ChevronIcon';
ChevronIcon.peek = {
description: `
A chevron icon.
`,
categories: ['visual design', 'icons'],
extend: 'Icon',
madeFrom: ['Icon'],
};
ChevronIcon.propTypes = {
...iconPropTypes,
direction: oneOf(['up', 'down', 'left', 'right'])`
direction variations of the icon
`,
};
ChevronIcon.defaultProps = Icon.defaultProps;
export default ChevronIcon;
|