| 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 | |