aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/scss/toggle.scss
blob: c10b0cbd4ac2c5e9867de1d392fbd60e0e27f2e1 (plain)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
$green: #56c080;

.toggle {
  cursor: pointer;
  display: inline-block;
}

.toggle-switch {
  display: inline-block;
  background: #ccc;
  border-radius: 16px;
  width: 58px;
  height: 32px;
  position: relative;
  vertical-align: middle;
  transition: background 0.25s;

  &:before,
  &:after {
    content: "";
  }

  &:before {
    display: block;
    background: linear-gradient(to bottom, #fff 0%, #eee 100%);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
    width: 24px;
    height: 24px;
    position: absolute;
    top: 4px;
    left: 4px;
    transition: left 0.25s;
  }

  .toggle:hover &:before {
    background: linear-gradient(to bottom, #fff 0%, #fff 100%);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
  }

  &.disabled:before {
    background: linear-gradient(to bottom, #ccc 0%, #bbb 100%);
  }

  .toggle:hover &.disabled:before {
    background: linear-gradient(to bottom, #ccc 0%, #bbb 100%);
  }

  .toggle-checkbox:checked+& {
    background: $green;

    &:before {
      left: 30px;
    }
  }
  .toggle-checkbox:not(checked)+& {
    background: $grey-lighter;

    &:before {
      left: 4px;
    }
  }
  .toggle-checkbox:indeterminate+& {
    background: rgba(0, 0, 0, 0.301);

    &:before {
      left: 16px;
      background: rgba(0, 0, 0, 0.301);
    }
  }

}

.toggle-checkbox {
  position: absolute;
  visibility: hidden;
}

.toggle-label {
  margin-left: 5px;
  position: relative;
  top: 2px;
}