1/* 2 * Copyright (C) 2024 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17export const logComponentStyles = ` 18 .entries { 19 display: flex; 20 flex-direction: column; 21 flex: 1; 22 overflow: auto; 23 } 24 .entries.padded { 25 margin: 4px; 26 padding: 12px; 27 } 28 29 .entries .scroll { 30 flex: 1; 31 } 32 33 .scroll .entry { 34 display: flex; 35 flex-direction: row; 36 overflow-wrap: anywhere; 37 } 38 39 .headers div, 40 .entries div { 41 padding: 4px; 42 } 43 44 .filter { 45 align-content: center; 46 } 47 48 .time { 49 flex: 1; 50 min-width: 135px; 51 } 52 53 .go-to-current-time { 54 height: 100%; 55 width: fit-content; 56 } 57 58 .placeholder-text { 59 text-align: center; 60 } 61 62 .right-align { 63 text-align: end; 64 justify-content: end; 65 } 66 67 .layer-or-display-id { 68 flex: 0.75; 69 min-width: 85px; 70 } 71 72 .transaction-id { 73 flex: 1; 74 min-width: 85px; 75 } 76 77 .vsyncid { 78 flex: none; 79 width: 90px; 80 } 81 82 .pid { 83 flex: none; 84 width: 75px; 85 } 86 87 .uid { 88 flex: none; 89 width: 75px; 90 } 91 92 .transaction-type { 93 flex: 1; 94 min-width: 85px; 95 } 96 97 .flags { 98 flex: 2; 99 min-width: 100px; 100 } 101 102 .log-level { 103 flex: 1; 104 min-width: 85px; 105 } 106 107 .tag { 108 flex: 2; 109 min-width: 85px; 110 } 111 112 .source-file { 113 flex: 4; 114 min-width: 150px; 115 } 116 117 .text { 118 flex: 10; 119 } 120 121 .title-section .filters { 122 margin-top: 8px; 123 } 124 125 .transition-id { 126 flex: none; 127 width: 40px; 128 } 129 130 .entries .headers { 131 flex: 0 0 auto; 132 display: flex; 133 flex-direction: row; 134 font-weight: bold; 135 border-bottom: solid 1px rgba(0, 0, 0, 0.5); 136 } 137 138 .header { 139 display: flex; 140 align-items: center; 141 } 142 143 .transition-type { 144 flex: 1; 145 min-width: 100px; 146 } 147 148 .handler { 149 flex: 3; 150 min-width: 70px; 151 } 152 153 .participants { 154 flex: 3; 155 white-space: pre-wrap; 156 min-width: 100px; 157 } 158 159 .jank-cuj-type { 160 flex: 5; 161 } 162 163 .start-time, .end-time, .dispatch-time, .send-time { 164 flex: 2; 165 min-width: 100px; 166 } 167 168 .duration { 169 flex: none; 170 width: 60px; 171 } 172 173 .status { 174 flex: none; 175 width: 110px; 176 } 177 178 .entry .status { 179 display: flex; 180 align-items: start; 181 gap: 5px; 182 justify-content: end; 183 } 184 185 .status .mat-icon { 186 font-size: 18px; 187 width: 18px; 188 height: 18px; 189 } 190 191 .input-type { 192 display: block; 193 width: 60px; 194 } 195 .input-source { 196 flex: 3; 197 min-width: 50px; 198 } 199 .input-action { 200 flex: 2; 201 min-width: 50px; 202 } 203 .input-device-id { 204 flex: 1; 205 min-width: 50px; 206 } 207 .input-display-id { 208 flex: 1; 209 min-width: 50px; 210 } 211 .entry .input-details { 212 flex: 4; 213 min-width: 50px; 214 } 215 .headers .input-details { 216 display: none; 217 flex: 0; 218 } 219 .entry .input-windows { 220 display: none; 221 flex: 0; 222 } 223 .headers .input-windows { 224 flex: 4; 225 min-width: 50px; 226 } 227 228 .search-result { 229 flex: 1; 230 } 231`; 232