1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5/* We can remove the outline since we do add our own focus style on nodes */
6.tree:focus {
7  outline: none;
8}
9
10.tree.inline {
11  display: inline-block;
12}
13
14.tree.nowrap {
15  white-space: nowrap;
16}
17
18.tree.noselect {
19  user-select: none;
20}
21
22.tree .tree-node {
23  display: flex;
24}
25
26.tree .tree-node:not(.focused):hover {
27  background-color: var(--theme-selection-background-hover);
28}
29
30.tree-indent {
31  display: inline-block;
32  width: 12px;
33  margin-inline-start: 3px;
34  border-inline-start: 1px solid #a2d1ff;
35  flex-shrink: 0;
36}
37
38.tree-node[data-expandable="false"] .tree-last-indent {
39  /* The 13px value is taken from the total width and margins of the arrow
40  element of expandables nodes (10px width + 3px margins). That way the
41  node's text are indented the same for both expandable and non-expandable
42  nodes */
43  margin-inline-end: 13px;
44}
45
46/* For non expandable root nodes, we don't have .tree-indent elements, so we declare
47   the margin on the start of the node */
48.tree-node[data-expandable="false"][aria-level="1"] {
49  padding-inline-start: 15px;
50}
51
52.tree .tree-node[data-expandable="true"] {
53  cursor: default;
54}
55
56.tree-node button.arrow {
57  mask: url("chrome://devtools/content/debugger/images/arrow.svg") no-repeat center;
58  mask-size: 10px;
59  vertical-align: -1px;
60  width: 10px;
61  height: 10px;
62  border: 0;
63  padding: 0;
64  margin-inline-end: 4px;
65  transform-origin: center center;
66  transition: transform 125ms var(--animation-curve);
67  background-color: var(--theme-icon-dimmed-color);
68}
69
70.tree-node button.arrow:not(.expanded) {
71  transform: rotate(-90deg);
72}
73
74html[dir="rtl"] .tree-node button.arrow:not(.expanded) {
75  transform: rotate(90deg);
76}
77
78.tree .tree-node.focused {
79  color: var(--theme-selection-color);
80  background-color: var(--theme-selection-background);
81}
82
83/* Invert text selection color in selected rows */
84.tree .tree-node.focused ::selection {
85  color: var(--theme-selection-background);
86  background-color: var(--theme-selection-color);
87}
88
89.tree-node.focused button.arrow {
90  background-color: currentColor;
91}
92