1import React from 'react';
2import cn from 'classnames';
4import Grid from './Grid';
5import Flex from './Flex';
6import { HelpText } from './Typography';
8export default function Button({
24 const handleKeyPress = e => {
25 if (e.key === 'Enter' && !disabled) {
33 tabIndex={!disabled ? 0 : undefined}
34 onKeyPress={handleKeyPress}
36 'rel pointer pv4 truncate flex-row justify-between us-none',
41 'bg-green3': success && !disabled,
42 'bg-green1': success && disabled,
43 'bg-black': !success && solid && !disabled,
44 'bg-gray3': !success && solid && disabled,
45 'bg-transparent': !success && !solid,
49 black: !solid && !disabled,
50 gray4: !solid && disabled,
56 pointerEvents: 'none',
57 cursor: 'not-allowed',
60 onClick={!disabled && onClick ? onClick : undefined}
63 <Grid.Item full as={Flex} justify="between" className="z2">
64 <span>{children}</span>
65 {type && <button type={type} style={{ display: 'none' }}></button>}
66 <div className={cn('pl4')}>{accessory}</div>
69 <Grid.Item full as={HelpText} className={cn('z2', detailClassName)}>
73 {disabled && disabledDetail && (
74 <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