1import React from 'react';
2import cn from 'classnames';
4import Grid from './Grid';
5import Flex from './Flex';
6import { HelpText } from './Typography';
8export default function Button({
25 const handleKeyPress = e => {
26 if (e.key === 'Enter' && !disabled) {
34 tabIndex={!disabled ? 0 : undefined}
35 onKeyPress={handleKeyPress}
37 'rel pointer pv2 truncate flex-row justify-between us-none r4',
42 'bg-green3': success && !disabled,
43 'bg-green1': success && disabled,
44 'bg-black': !success && solid && !disabled,
45 'bg-gray3': !success && solid && disabled,
46 'bg-transparent': !success && !solid,
50 black: !solid && !disabled,
51 gray4: !solid && disabled,
57 pointerEvents: 'none',
58 cursor: 'not-allowed',
61 onClick={!disabled && onClick ? onClick : undefined}
68 className={cn('z2', { 'flex-center': center })}>
69 <span>{children}</span>
70 {type && <button type={type} style={{ display: 'none' }}></button>}
71 {!center && <div className={cn('pl4')}>{accessory}</div>}
74 <Grid.Item full as={HelpText} className={cn('z2', detailClassName)}>
78 {disabled && disabledDetail && (
79 <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