xref: /aosp_15_r20/external/perfetto/ui/src/assets/widgets/button.scss (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1*6dbdd20aSAndroid Build Coastguard Worker// Copyright (C) 2023 The Android Open Source Project
2*6dbdd20aSAndroid Build Coastguard Worker//
3*6dbdd20aSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*6dbdd20aSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*6dbdd20aSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*6dbdd20aSAndroid Build Coastguard Worker//
7*6dbdd20aSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*6dbdd20aSAndroid Build Coastguard Worker//
9*6dbdd20aSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*6dbdd20aSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*6dbdd20aSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*6dbdd20aSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*6dbdd20aSAndroid Build Coastguard Worker// limitations under the License.
14*6dbdd20aSAndroid Build Coastguard Worker
15*6dbdd20aSAndroid Build Coastguard Worker@import "theme";
16*6dbdd20aSAndroid Build Coastguard Worker
17*6dbdd20aSAndroid Build Coastguard Worker.pf-button {
18*6dbdd20aSAndroid Build Coastguard Worker  font-family: $pf-font;
19*6dbdd20aSAndroid Build Coastguard Worker  line-height: 1;
20*6dbdd20aSAndroid Build Coastguard Worker  user-select: none;
21*6dbdd20aSAndroid Build Coastguard Worker  transition:
22*6dbdd20aSAndroid Build Coastguard Worker    background $pf-anim-timing,
23*6dbdd20aSAndroid Build Coastguard Worker    box-shadow $pf-anim-timing;
24*6dbdd20aSAndroid Build Coastguard Worker  border-radius: $pf-border-radius;
25*6dbdd20aSAndroid Build Coastguard Worker  padding: 4px 8px;
26*6dbdd20aSAndroid Build Coastguard Worker  white-space: nowrap;
27*6dbdd20aSAndroid Build Coastguard Worker  min-width: max-content;
28*6dbdd20aSAndroid Build Coastguard Worker
29*6dbdd20aSAndroid Build Coastguard Worker  & > .pf-left-icon {
30*6dbdd20aSAndroid Build Coastguard Worker    float: left;
31*6dbdd20aSAndroid Build Coastguard Worker    margin-right: 6px; // Make some room between the icon and label
32*6dbdd20aSAndroid Build Coastguard Worker  }
33*6dbdd20aSAndroid Build Coastguard Worker
34*6dbdd20aSAndroid Build Coastguard Worker  & > .pf-right-icon {
35*6dbdd20aSAndroid Build Coastguard Worker    float: right;
36*6dbdd20aSAndroid Build Coastguard Worker    margin-left: 6px; // Make some room between the icon and label
37*6dbdd20aSAndroid Build Coastguard Worker  }
38*6dbdd20aSAndroid Build Coastguard Worker
39*6dbdd20aSAndroid Build Coastguard Worker  & > .material-icons,
40*6dbdd20aSAndroid Build Coastguard Worker  & > .material-icons-filled {
41*6dbdd20aSAndroid Build Coastguard Worker    font-size: inherit;
42*6dbdd20aSAndroid Build Coastguard Worker    line-height: inherit;
43*6dbdd20aSAndroid Build Coastguard Worker  }
44*6dbdd20aSAndroid Build Coastguard Worker
45*6dbdd20aSAndroid Build Coastguard Worker  &:focus-visible {
46*6dbdd20aSAndroid Build Coastguard Worker    @include focus;
47*6dbdd20aSAndroid Build Coastguard Worker  }
48*6dbdd20aSAndroid Build Coastguard Worker
49*6dbdd20aSAndroid Build Coastguard Worker  background: $pf-minimal-background;
50*6dbdd20aSAndroid Build Coastguard Worker  color: inherit;
51*6dbdd20aSAndroid Build Coastguard Worker
52*6dbdd20aSAndroid Build Coastguard Worker  &:hover {
53*6dbdd20aSAndroid Build Coastguard Worker    background: $pf-minimal-background-hover;
54*6dbdd20aSAndroid Build Coastguard Worker  }
55*6dbdd20aSAndroid Build Coastguard Worker
56*6dbdd20aSAndroid Build Coastguard Worker  &:active,
57*6dbdd20aSAndroid Build Coastguard Worker  &.pf-active {
58*6dbdd20aSAndroid Build Coastguard Worker    background: $pf-minimal-background-active;
59*6dbdd20aSAndroid Build Coastguard Worker  }
60*6dbdd20aSAndroid Build Coastguard Worker
61*6dbdd20aSAndroid Build Coastguard Worker  &[disabled] {
62*6dbdd20aSAndroid Build Coastguard Worker    color: $pf-minimal-foreground-disabled;
63*6dbdd20aSAndroid Build Coastguard Worker    background: $pf-minimal-background-disabled;
64*6dbdd20aSAndroid Build Coastguard Worker    cursor: not-allowed;
65*6dbdd20aSAndroid Build Coastguard Worker  }
66*6dbdd20aSAndroid Build Coastguard Worker
67*6dbdd20aSAndroid Build Coastguard Worker  // Remove default background in minimal mode, showing only the text
68*6dbdd20aSAndroid Build Coastguard Worker  &.pf-intent-primary {
69*6dbdd20aSAndroid Build Coastguard Worker    color: $pf-primary-foreground;
70*6dbdd20aSAndroid Build Coastguard Worker    background: $pf-primary-background;
71*6dbdd20aSAndroid Build Coastguard Worker
72*6dbdd20aSAndroid Build Coastguard Worker    &:hover {
73*6dbdd20aSAndroid Build Coastguard Worker      background: $pf-primary-background-hover;
74*6dbdd20aSAndroid Build Coastguard Worker    }
75*6dbdd20aSAndroid Build Coastguard Worker
76*6dbdd20aSAndroid Build Coastguard Worker    &:active,
77*6dbdd20aSAndroid Build Coastguard Worker    &.pf-active {
78*6dbdd20aSAndroid Build Coastguard Worker      transition: none;
79*6dbdd20aSAndroid Build Coastguard Worker      background: $pf-primary-background-active;
80*6dbdd20aSAndroid Build Coastguard Worker      box-shadow: inset 1px 1px 4px #00000040;
81*6dbdd20aSAndroid Build Coastguard Worker    }
82*6dbdd20aSAndroid Build Coastguard Worker    &[disabled] {
83*6dbdd20aSAndroid Build Coastguard Worker      background: $pf-primary-background-disabled;
84*6dbdd20aSAndroid Build Coastguard Worker      color: $pf-primary-foreground-disabled;
85*6dbdd20aSAndroid Build Coastguard Worker      box-shadow: none;
86*6dbdd20aSAndroid Build Coastguard Worker      cursor: not-allowed;
87*6dbdd20aSAndroid Build Coastguard Worker    }
88*6dbdd20aSAndroid Build Coastguard Worker  }
89*6dbdd20aSAndroid Build Coastguard Worker
90*6dbdd20aSAndroid Build Coastguard Worker  // Reduce padding when compact
91*6dbdd20aSAndroid Build Coastguard Worker  &.pf-compact {
92*6dbdd20aSAndroid Build Coastguard Worker    padding: 2px 4px;
93*6dbdd20aSAndroid Build Coastguard Worker    & > .pf-left-icon {
94*6dbdd20aSAndroid Build Coastguard Worker      margin-right: 2px;
95*6dbdd20aSAndroid Build Coastguard Worker    }
96*6dbdd20aSAndroid Build Coastguard Worker
97*6dbdd20aSAndroid Build Coastguard Worker    & > .pf-right-icon {
98*6dbdd20aSAndroid Build Coastguard Worker      margin-left: 2px;
99*6dbdd20aSAndroid Build Coastguard Worker    }
100*6dbdd20aSAndroid Build Coastguard Worker  }
101*6dbdd20aSAndroid Build Coastguard Worker
102*6dbdd20aSAndroid Build Coastguard Worker  // Reduce padding when we are icon-only
103*6dbdd20aSAndroid Build Coastguard Worker  &.pf-icon-only {
104*6dbdd20aSAndroid Build Coastguard Worker    & > .pf-left-icon {
105*6dbdd20aSAndroid Build Coastguard Worker      margin: 0;
106*6dbdd20aSAndroid Build Coastguard Worker    }
107*6dbdd20aSAndroid Build Coastguard Worker
108*6dbdd20aSAndroid Build Coastguard Worker    padding: 4px;
109*6dbdd20aSAndroid Build Coastguard Worker
110*6dbdd20aSAndroid Build Coastguard Worker    &.pf-compact {
111*6dbdd20aSAndroid Build Coastguard Worker      padding: 0;
112*6dbdd20aSAndroid Build Coastguard Worker    }
113*6dbdd20aSAndroid Build Coastguard Worker  }
114*6dbdd20aSAndroid Build Coastguard Worker}
115*6dbdd20aSAndroid Build Coastguard Worker
116*6dbdd20aSAndroid Build Coastguard Worker.pf-button-bar {
117*6dbdd20aSAndroid Build Coastguard Worker  display: flex;
118*6dbdd20aSAndroid Build Coastguard Worker  flex-direction: row;
119*6dbdd20aSAndroid Build Coastguard Worker  gap: 2px;
120*6dbdd20aSAndroid Build Coastguard Worker}
121