xref: /aosp_15_r20/external/perfetto/ui/src/assets/widgets/select.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// Select field styled to look similar to a text input with a thin underline.
18*6dbdd20aSAndroid Build Coastguard Worker// Inspired by matherial design.
19*6dbdd20aSAndroid Build Coastguard Worker.pf-select {
20*6dbdd20aSAndroid Build Coastguard Worker  font-family: $pf-font;
21*6dbdd20aSAndroid Build Coastguard Worker  font-size: inherit;
22*6dbdd20aSAndroid Build Coastguard Worker  outline: none; // Disable the default outline
23*6dbdd20aSAndroid Build Coastguard Worker  border: none; // Disable the default border
24*6dbdd20aSAndroid Build Coastguard Worker  border-bottom: solid 1px $pf-minimal-foreground; // Thin underline
25*6dbdd20aSAndroid Build Coastguard Worker  background: none;
26*6dbdd20aSAndroid Build Coastguard Worker  transition:
27*6dbdd20aSAndroid Build Coastguard Worker    border $pf-anim-timing,
28*6dbdd20aSAndroid Build Coastguard Worker    box-shadow $pf-anim-timing,
29*6dbdd20aSAndroid Build Coastguard Worker    background $pf-anim-timing;
30*6dbdd20aSAndroid Build Coastguard Worker  // Round only the top corners to avoid rounding the edges of the underline
31*6dbdd20aSAndroid Build Coastguard Worker  border-radius: $pf-border-radius $pf-border-radius 0 0;
32*6dbdd20aSAndroid Build Coastguard Worker  cursor: pointer;
33*6dbdd20aSAndroid Build Coastguard Worker
34*6dbdd20aSAndroid Build Coastguard Worker  // Very opinionated min width for a select input
35*6dbdd20aSAndroid Build Coastguard Worker  // ... any smaller and it stops looking like a select input!
36*6dbdd20aSAndroid Build Coastguard Worker  min-width: 80px;
37*6dbdd20aSAndroid Build Coastguard Worker
38*6dbdd20aSAndroid Build Coastguard Worker  & > .material-icons {
39*6dbdd20aSAndroid Build Coastguard Worker    font-size: inherit;
40*6dbdd20aSAndroid Build Coastguard Worker    line-height: inherit;
41*6dbdd20aSAndroid Build Coastguard Worker    float: left;
42*6dbdd20aSAndroid Build Coastguard Worker  }
43*6dbdd20aSAndroid Build Coastguard Worker
44*6dbdd20aSAndroid Build Coastguard Worker  &:hover {
45*6dbdd20aSAndroid Build Coastguard Worker    background: $pf-minimal-background-hover;
46*6dbdd20aSAndroid Build Coastguard Worker  }
47*6dbdd20aSAndroid Build Coastguard Worker
48*6dbdd20aSAndroid Build Coastguard Worker  &:focus {
49*6dbdd20aSAndroid Build Coastguard Worker    background: $pf-minimal-background-hover;
50*6dbdd20aSAndroid Build Coastguard Worker    border-bottom: solid 1px $pf-primary-background;
51*6dbdd20aSAndroid Build Coastguard Worker
52*6dbdd20aSAndroid Build Coastguard Worker    // The box-shadow thickens the bottom border, without adding to the height.
53*6dbdd20aSAndroid Build Coastguard Worker    // This is the same technique used by materializecss:
54*6dbdd20aSAndroid Build Coastguard Worker    // See https://materializecss.com/text-inputs.html
55*6dbdd20aSAndroid Build Coastguard Worker    box-shadow: 0 1px 0 $pf-primary-background;
56*6dbdd20aSAndroid Build Coastguard Worker  }
57*6dbdd20aSAndroid Build Coastguard Worker
58*6dbdd20aSAndroid Build Coastguard Worker  &[disabled] {
59*6dbdd20aSAndroid Build Coastguard Worker    border-bottom-color: $pf-minimal-foreground-disabled;
60*6dbdd20aSAndroid Build Coastguard Worker    color: $pf-minimal-foreground-disabled;
61*6dbdd20aSAndroid Build Coastguard Worker    background: $pf-minimal-background-disabled;
62*6dbdd20aSAndroid Build Coastguard Worker    cursor: not-allowed;
63*6dbdd20aSAndroid Build Coastguard Worker  }
64*6dbdd20aSAndroid Build Coastguard Worker}
65