| ... | ... | @@ -16,7 +16,6 @@ export const SPLIT_LAYOUT_MIN_WIDTH = 720; |
| 16 | 16 | export const SPLIT_LAYOUT_MIN_HEIGHT = 600; |
| 17 | 17 | |
| 18 | 18 | export const SPLIT_SIDEBAR_MIN_WIDTH = 280; |
| 19 | | export const SPLIT_SIDEBAR_MAX_WIDTH = 460; |
| 20 | 19 | const SPLIT_SIDEBAR_DEFAULT_MAX_WIDTH = 380; |
| 21 | 20 | |
| 22 | 21 | export const AUXILIARY_PANE_MIN_CONTENT_WIDTH = 960; |
| ... | ... | @@ -50,10 +49,6 @@ export const AUXILIARY_PANE_MAX_WIDTH = 480; |
| 50 | 49 | const AUXILIARY_PANE_DEFAULT_MAX_WIDTH = 320; |
| 51 | 50 | const FILE_INSPECTOR_MIN_VIEWPORT_WIDTH = 820; |
| 52 | 51 | const FILE_INSPECTOR_MIN_MAIN_WIDTH = 560; |
| 53 | | const STABLE_FORM_SHEET_MAX_HEIGHT = 720; |
| 54 | | const STABLE_FORM_SHEET_VERTICAL_MARGIN = 64; |
| 55 | | const STABLE_FORM_SHEET_MIN_DETENT = 0.62; |
| 56 | | const STABLE_FORM_SHEET_MAX_DETENT = 0.92; |
| 57 | 52 | |
| 58 | 53 | export type LayoutVariant = "compact" | "split"; |
| 59 | 54 | |
| ... | ... | @@ -218,22 +213,6 @@ export function deriveFileInspectorPaneLayout(input: { |
| 218 | 213 | }; |
| 219 | 214 | } |
| 220 | 215 | |
| 221 | | /** Keep a user-selected sidebar width useful as a window is resized. */ |
| 222 | | export function constrainPrimarySidebarWidth( |
| 223 | | preferredWidth: number, |
| 224 | | viewportWidth = Number.POSITIVE_INFINITY, |
| 225 | | ): number { |
| 226 | | const safeWidth = Number.isFinite(preferredWidth) ? preferredWidth : SPLIT_SIDEBAR_MIN_WIDTH; |
| 227 | | const viewportMax = Number.isFinite(viewportWidth) |
| 228 | | ? Math.max(SPLIT_SIDEBAR_MIN_WIDTH, viewportWidth - 360) |
| 229 | | : SPLIT_SIDEBAR_MAX_WIDTH; |
| 230 | | return clamp( |
| 231 | | Math.round(safeWidth), |
| 232 | | SPLIT_SIDEBAR_MIN_WIDTH, |
| 233 | | Math.min(SPLIT_SIDEBAR_MAX_WIDTH, viewportMax), |
| 234 | | ); |
| 235 | | } |
| 236 | | |
| 237 | 216 | /** |
| 238 | 217 | * Keep an auxiliary pane within native-feeling bounds without squeezing its |
| 239 | 218 | * neighboring content below a usable reading/editor width. |
| ... | ... | @@ -275,20 +254,3 @@ export function deriveCenteredContentHorizontalPadding(input: { |
| 275 | 254 | |
| 276 | 255 | return minimumPadding + Math.max(0, (viewportWidth - input.maxContentWidth) / 2); |
| 277 | 256 | } |
| 278 | | |
| 279 | | export function deriveStableFormSheetDetent(containerHeight: number): number { |
| 280 | | if (!Number.isFinite(containerHeight) || containerHeight <= 0) { |
| 281 | | return STABLE_FORM_SHEET_MAX_DETENT; |
| 282 | | } |
| 283 | | |
| 284 | | const targetHeight = Math.min( |
| 285 | | STABLE_FORM_SHEET_MAX_HEIGHT, |
| 286 | | Math.max(0, containerHeight - STABLE_FORM_SHEET_VERTICAL_MARGIN), |
| 287 | | ); |
| 288 | | const detent = clamp( |
| 289 | | targetHeight / containerHeight, |
| 290 | | STABLE_FORM_SHEET_MIN_DETENT, |
| 291 | | STABLE_FORM_SHEET_MAX_DETENT, |
| 292 | | ); |
| 293 | | return Math.round(detent * 1_000) / 1_000; |
| 294 | | } |