xref: /aosp_15_r20/external/perfetto/ui/src/assets/widgets/popup.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-popup-portal {
18*6dbdd20aSAndroid Build Coastguard Worker  position: absolute;
19*6dbdd20aSAndroid Build Coastguard Worker  z-index: 10; // Hack to show popups over certain other elements
20*6dbdd20aSAndroid Build Coastguard Worker
21*6dbdd20aSAndroid Build Coastguard Worker  // When width = 0 it can cause layout issues in popup content, so we give this
22*6dbdd20aSAndroid Build Coastguard Worker  // element some width manually
23*6dbdd20aSAndroid Build Coastguard Worker  width: 100%;
24*6dbdd20aSAndroid Build Coastguard Worker
25*6dbdd20aSAndroid Build Coastguard Worker  // Move the portal to the top of the page. This appears to fix issues where
26*6dbdd20aSAndroid Build Coastguard Worker  // popups can sometimes be rendered below the rest of the page momentarily,
27*6dbdd20aSAndroid Build Coastguard Worker  // causing the whole page to judder up and down while popper.js sorts out the
28*6dbdd20aSAndroid Build Coastguard Worker  // positioning.
29*6dbdd20aSAndroid Build Coastguard Worker  // TODO(stevegolton): There is probably a better way to fix this issue.
30*6dbdd20aSAndroid Build Coastguard Worker  top: 0;
31*6dbdd20aSAndroid Build Coastguard Worker}
32*6dbdd20aSAndroid Build Coastguard Worker
33*6dbdd20aSAndroid Build Coastguard Worker.pf-popup {
34*6dbdd20aSAndroid Build Coastguard Worker  background: white;
35*6dbdd20aSAndroid Build Coastguard Worker  border: solid 1px $pf-colour-thin-border;
36*6dbdd20aSAndroid Build Coastguard Worker  border-radius: $pf-border-radius;
37*6dbdd20aSAndroid Build Coastguard Worker  box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.2);
38*6dbdd20aSAndroid Build Coastguard Worker
39*6dbdd20aSAndroid Build Coastguard Worker  .pf-popup-content {
40*6dbdd20aSAndroid Build Coastguard Worker    // Ensures all content is rendered above the arrow
41*6dbdd20aSAndroid Build Coastguard Worker    position: relative;
42*6dbdd20aSAndroid Build Coastguard Worker    // Default padding set to some sensible value that works for most content
43*6dbdd20aSAndroid Build Coastguard Worker    padding: 4px;
44*6dbdd20aSAndroid Build Coastguard Worker  }
45*6dbdd20aSAndroid Build Coastguard Worker}
46*6dbdd20aSAndroid Build Coastguard Worker
47*6dbdd20aSAndroid Build Coastguard Worker.pf-popup-arrow,
48*6dbdd20aSAndroid Build Coastguard Worker.pf-popup-arrow::before {
49*6dbdd20aSAndroid Build Coastguard Worker  position: absolute;
50*6dbdd20aSAndroid Build Coastguard Worker  width: 8px;
51*6dbdd20aSAndroid Build Coastguard Worker  height: 8px;
52*6dbdd20aSAndroid Build Coastguard Worker  background: inherit;
53*6dbdd20aSAndroid Build Coastguard Worker  border: inherit;
54*6dbdd20aSAndroid Build Coastguard Worker}
55*6dbdd20aSAndroid Build Coastguard Worker
56*6dbdd20aSAndroid Build Coastguard Worker.pf-popup-arrow {
57*6dbdd20aSAndroid Build Coastguard Worker  visibility: hidden;
58*6dbdd20aSAndroid Build Coastguard Worker}
59*6dbdd20aSAndroid Build Coastguard Worker
60*6dbdd20aSAndroid Build Coastguard Worker.pf-popup-arrow::before {
61*6dbdd20aSAndroid Build Coastguard Worker  visibility: visible;
62*6dbdd20aSAndroid Build Coastguard Worker  content: "";
63*6dbdd20aSAndroid Build Coastguard Worker  transform: rotate(45deg);
64*6dbdd20aSAndroid Build Coastguard Worker}
65*6dbdd20aSAndroid Build Coastguard Worker
66*6dbdd20aSAndroid Build Coastguard Worker.pf-popup[data-popper-placement^="top"] > .pf-popup-arrow {
67*6dbdd20aSAndroid Build Coastguard Worker  bottom: -4px;
68*6dbdd20aSAndroid Build Coastguard Worker  border-top: none;
69*6dbdd20aSAndroid Build Coastguard Worker  border-left: none;
70*6dbdd20aSAndroid Build Coastguard Worker}
71*6dbdd20aSAndroid Build Coastguard Worker
72*6dbdd20aSAndroid Build Coastguard Worker.pf-popup[data-popper-placement^="bottom"] > .pf-popup-arrow {
73*6dbdd20aSAndroid Build Coastguard Worker  top: -6px;
74*6dbdd20aSAndroid Build Coastguard Worker  border-bottom: none;
75*6dbdd20aSAndroid Build Coastguard Worker  border-right: none;
76*6dbdd20aSAndroid Build Coastguard Worker}
77*6dbdd20aSAndroid Build Coastguard Worker
78*6dbdd20aSAndroid Build Coastguard Worker.pf-popup[data-popper-placement^="left"] > .pf-popup-arrow {
79*6dbdd20aSAndroid Build Coastguard Worker  right: -4px;
80*6dbdd20aSAndroid Build Coastguard Worker  border-bottom: none;
81*6dbdd20aSAndroid Build Coastguard Worker  border-left: none;
82*6dbdd20aSAndroid Build Coastguard Worker}
83*6dbdd20aSAndroid Build Coastguard Worker
84*6dbdd20aSAndroid Build Coastguard Worker.pf-popup[data-popper-placement^="right"] > .pf-popup-arrow {
85*6dbdd20aSAndroid Build Coastguard Worker  left: -6px;
86*6dbdd20aSAndroid Build Coastguard Worker  border-top: none;
87*6dbdd20aSAndroid Build Coastguard Worker  border-right: none;
88*6dbdd20aSAndroid Build Coastguard Worker}
89