1import React from 'react';
2import cn from 'classnames';
4import Grid from './Grid';
5import Flex from './Flex';
6import { HelpText } from './Typography';
8export default function Button({
23 const handleKeyPress = e => {
24 if (e.key === 'Enter' && !disabled) {
32 tabIndex={!disabled ? 0 : undefined}
33 onKeyPress={handleKeyPress}
35 'rel pointer pv4 truncate flex-row justify-between us-none',
40 'bg-green3': success && !disabled,
41 'bg-green1': success && disabled,
42 'bg-black': !success && solid && !disabled,
43 'bg-gray3': !success && solid && disabled,
44 'bg-transparent': !success && !solid,
48 black: !solid && !disabled,
49 gray4: !solid && disabled,
55 pointerEvents: 'none',
56 cursor: 'not-allowed',
59 onClick={!disabled && onClick ? onClick : undefined}
62 <Grid.Item full as={Flex} justify="between" className="z2">
63 <span>{children}</span>
64 <div className={cn('pl4')}>{accessory}</div>
67 <Grid.Item full as={HelpText} className={cn('z2', detailClassName)}>
71 {disabled && disabledDetail && (
72 <Grid.Item full className="f6 black mt1 z2">
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list