3.5 KB156 lines
Blame
1/**
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8.drawers {
9 display: flex;
10 flex-direction: column;
11 overflow: hidden;
12 width: 100%;
13 height: 100%;
14
15 --drag-handle-size: 7px;
16 --drawer-label-size: calc(2 * var(--halfpad) + 1ch);
17 --min-pane-width: 50px;
18}
19.drawers-horizontal {
20 display: flex;
21 flex-direction: row;
22 overflow: hidden;
23 width: 100%;
24 height: 100%;
25}
26
27/* actual content takes all the size minus label and resize handle and 1px of border on each side */
28.drawer-left > div:nth-child(3),
29.drawer-right > div:nth-child(3) {
30 width: calc(100% - var(--drawer-label-size) - var(--drag-handle-size) - var(--pad) - 2px);
31}
32.drawer-top > div:nth-child(3),
33.drawer-bottom > div:nth-child(3) {
34 height: calc(100% - var(--drawer-label-size) - var(--drag-handle-size) - var(--pad) - 2px);
35}
36
37.drawer-main-content {
38 overflow-y: auto;
39 display: flex;
40 flex-direction: column;
41 flex-grow: 1;
42 width: 100%;
43}
44
45.drawer {
46 display: flex;
47 flex: none;
48 overflow-y: auto;
49 justify-content: flex-end;
50}
51
52.drawer.drawer-top {
53 flex-direction: column-reverse;
54}
55.drawer.drawer-left {
56 flex-direction: row-reverse;
57}
58.drawer.drawer-bottom {
59 flex-direction: column;
60}
61.drawer.drawer-right {
62 flex-direction: row;
63}
64.drawer-expanded.drawer-top,
65.drawer-expanded.drawer-bottom {
66 min-height: calc(var(--pad) + var(--drag-handle-size) + var(--drawer-label-size));
67}
68
69.drawer-expanded.drawer-right,
70.drawer-expanded.drawer-left {
71 min-width: calc(var(--pad) + var(--drag-handle-size) + var(--drawer-label-size));
72}
73
74.drawer.drawer-expanded.drawer-left {
75 min-width: var(--min-pane-width);
76 max-width: calc((100vw / var(--zoom)) - var(--min-pane-width));
77}
78.drawer.drawer-expanded.drawer-top {
79 min-height: var(--min-pane-width);
80 max-height: calc((100vw / var(--zoom)) - var(--min-pane-width));
81}
82
83.drawer .resizable-drag-handle {
84 border: 1px solid var(--panel-view-border);
85 user-select: none;
86}
87
88.drawer-top .resizable-drag-handle,
89.drawer-bottom .resizable-drag-handle {
90 min-height: calc(var(--drag-handle-size) - (2 * 1px)); /* 2px for border */
91 width: 100%;
92 border-left-width: 0;
93 border-right-width: 0;
94 cursor: ns-resize;
95}
96
97.drawer-left .resizable-drag-handle,
98.drawer-right .resizable-drag-handle {
99 min-width: calc(var(--drag-handle-size) - (2 * 1px)); /* 2px for border */
100 height: 100%;
101 border-top-width: 0;
102 border-bottom-width: 0;
103 cursor: ew-resize;
104}
105
106.drawer .resizable-drag-handle:hover,
107.drawer .resizable-drag-handle.resizing {
108 background-color: var(--focus-border);
109 border-color: var(--focus-border);
110 transition:
111 background-color 0s 300ms,
112 border-color 0s 300ms;
113}
114
115.drawer-label {
116 font-weight: bold;
117 display: flex;
118 align-items: center;
119 justify-content: center;
120 border: 0px solid var(--panel-view-border);
121 cursor: pointer;
122 padding: var(--halfpad);
123 gap: var(--halfpad);
124}
125.drawer-label:hover {
126 background-color: var(--list-hover-background);
127}
128
129.drawer-left .drawer-label {
130 border-left-width: 1px;
131}
132.drawer-right .drawer-label {
133 border-right-width: 1px;
134}
135.drawer-top .drawer-label {
136 border-bottom-width: 1px;
137}
138.drawer-bottom .drawer-label {
139 border-top-width: 1px;
140}
141
142.drawer-left .drawer-label,
143.drawer-right .drawer-label {
144 width: var(--drawer-label-size);
145}
146.drawer-top .drawer-label,
147.drawer-bottom .drawer-label {
148 height: var(--drawer-label-size);
149}
150
151.drawer-left .drawer-label,
152.drawer-right .drawer-label {
153 writing-mode: vertical-lr;
154 transform: rotate(180deg);
155}
156