Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 933 | Rev 940 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
930 stevensc 1
import React from 'react'
2
import styled from 'styled-components'
3
 
4
const StyledButton = styled.button`
5
  border-radius: 30px;
6
  align-items: center;
7
  padding: 0.2rem 1rem;
8
  border: none;
9
  cursor: pointer;
10
  font-weight: 600;
11
  font-size: 0.9rem;
12
  display: inline-flex;
13
  overflow: hidden;
14
  text-align: center;
15
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
16
  &:hover {
17
    background-color: whitesmoke;
18
  }
19
  &:disabled {
20
    cursor: no-drop;
21
  }
22
`
23
 
933 stevensc 24
export const Button = ({
930 stevensc 25
  onClick = () => {},
26
  label = 'Confirmar',
934 stevensc 27
  icon: Icon = null,
930 stevensc 28
  ...rest
29
}) => {
30
  return (
31
    <StyledButton onClick={() => onClick()} {...rest}>
934 stevensc 32
      {Icon && <Icon />}
930 stevensc 33
      {label}
34
    </StyledButton>
35
  )
36
}
37
 
931 stevensc 38
const BtnPrimary = styled(Button)`
39
  background-color: var(--button-bg);
40
  color: var(--button-text-color);
41
  &:hover {
42
    background-color: var(--button-bg-hover);
43
  }
44
`
45
 
933 stevensc 46
export const ButtonPrimary = ({ label, icon, ...rest }) => {
47
  return <BtnPrimary label={label} icon={icon} {...rest} />
48
}
49
 
931 stevensc 50
const BtnSecondary = styled(Button)`
51
  background: var(--button-bg-secondary);
52
  border: 1px solid var(--border-primary);
53
  color: var(--button-text-color-secondary);
54
  &:hover {
55
    background-color: var(--button-bg-secondary-hover);
56
    border-color: transparent;
57
  }
58
`
59
 
933 stevensc 60
export const ButtonSecondary = ({ label, icon, ...rest }) => {
61
  return <BtnSecondary label={label} icon={icon} {...rest} />
62
}
63
 
931 stevensc 64
const BtnTertiary = styled(Button)`
65
  background-color: var(--button-bg-tertiary);
66
  border-color: #f4f4f4;
67
  color: var(--button-text-color-tertiary);
68
  border: 1px solid transparent;
69
  &:hover {
70
    background: #d4d4d4;
71
    border: 1px solid var(--border-primary);
72
    color: var(--border-primary);
73
  }
74
`
75
 
76
export const ButtonTertiary = ({ label, icon, onClick, ...rest }) => {
77
  return <BtnTertiary label={label} icon={icon} onClick={onClick} {...rest} />
78
}