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