| ... | @@ -16,7 +16,6 @@ export const SPLIT_LAYOUT_MIN_WIDTH = 720; | ... | @@ -16,7 +16,6 @@ export const SPLIT_LAYOUT_MIN_WIDTH = 720; |
| 16 | export const SPLIT_LAYOUT_MIN_HEIGHT = 600; | 16 | export const SPLIT_LAYOUT_MIN_HEIGHT = 600; |
| 17 | | 17 | |
| 18 | export const SPLIT_SIDEBAR_MIN_WIDTH = 280; | 18 | export const SPLIT_SIDEBAR_MIN_WIDTH = 280; |
| 19 | export const SPLIT_SIDEBAR_MAX_WIDTH = 460; | | |
| 20 | const SPLIT_SIDEBAR_DEFAULT_MAX_WIDTH = 380; | 19 | const SPLIT_SIDEBAR_DEFAULT_MAX_WIDTH = 380; |
| 21 | | 20 | |
| 22 | export const AUXILIARY_PANE_MIN_CONTENT_WIDTH = 960; | 21 | export const AUXILIARY_PANE_MIN_CONTENT_WIDTH = 960; |
| ... | @@ -50,10 +49,6 @@ export const AUXILIARY_PANE_MAX_WIDTH = 480; | ... | @@ -50,10 +49,6 @@ export const AUXILIARY_PANE_MAX_WIDTH = 480; |
| 50 | const AUXILIARY_PANE_DEFAULT_MAX_WIDTH = 320; | 49 | const AUXILIARY_PANE_DEFAULT_MAX_WIDTH = 320; |
| 51 | const FILE_INSPECTOR_MIN_VIEWPORT_WIDTH = 820; | 50 | const FILE_INSPECTOR_MIN_VIEWPORT_WIDTH = 820; |
| 52 | const FILE_INSPECTOR_MIN_MAIN_WIDTH = 560; | 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 | export type LayoutVariant = "compact" | "split"; | 53 | export type LayoutVariant = "compact" | "split"; |
| 59 | | 54 | |
| ... | @@ -218,22 +213,6 @@ export function deriveFileInspectorPaneLayout(input: { | ... | @@ -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 | * Keep an auxiliary pane within native-feeling bounds without squeezing its | 217 | * Keep an auxiliary pane within native-feeling bounds without squeezing its |
| 239 | * neighboring content below a usable reading/editor width. | 218 | * neighboring content below a usable reading/editor width. |
| ... | @@ -275,20 +254,3 @@ export function deriveCenteredContentHorizontalPadding(input: { | ... | @@ -275,20 +254,3 @@ export function deriveCenteredContentHorizontalPadding(input: { |
| 275 | | 254 | |
| 276 | return minimumPadding + Math.max(0, (viewportWidth - input.maxContentWidth) / 2); | 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 | } | | |