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 64 | 176x 176x 176x 176x 176x 176x 176x 176x 176x 18x 176x 176x 176x 176x 176x | 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 cx = lucidClassNames.bind('&-ArrowIcon');
const { oneOf } = PropTypes;
interface IArrowIconProps extends IIconProps {
direction?: 'up' | 'down' | 'left' | 'right';
}
export const ArrowIcon = ({
className,
direction = 'left',
...passThroughs
}: IArrowIconProps) => {
return (
<Icon
{...omitProps(
passThroughs,
undefined,
_.keys(ArrowIcon.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='M0 8h15.5m-6-6l6 6-6 6' />
</Icon>
);
};
ArrowIcon.displayName = 'ArrowIcon';
ArrowIcon.peek = {
description: `
An arrow icon.
`,
categories: ['visual design', 'icons'],
extend: 'Icon',
madeFrom: ['Icon'],
};
ArrowIcon.propTypes = {
...iconPropTypes,
direction: oneOf(['up', 'down', 'left', 'right'])`
direction variations of the icon
`,
};
ArrowIcon.defaultProps = Icon.defaultProps;
export default ArrowIcon;
|