You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/master-detail-layout/ARCHITECTURE.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,7 @@ The `>=` (not `>`) is intentional: when `keep-detail-column-offscreen` or `:not(
54
54
Layout detection is split into two methods to avoid forced reflows:
55
55
56
56
-**`__computeLayoutState()`** — pure reads: `checkVisibility()`, `getComputedStyle()`, `getFocusableElements()`. Called in the ResizeObserver callback where layout is already computed — no forced reflow.
57
-
-**`__applyLayoutState(state)`** — pure writes: toggles `has-detail`, `overflow`, `keep-detail-column-offscreen`; calls `requestUpdate()` for ARIA; focuses detail. No DOM/style reads.
57
+
-**`__applyLayoutState(state)`** — pure writes: toggles `has-detail`, `overlay`, `keep-detail-column-offscreen`; calls `requestUpdate()` for ARIA; focuses detail. No DOM/style reads.
58
58
59
59
### ResizeObserver
60
60
@@ -64,7 +64,7 @@ Layout detection is split into two methods to avoid forced reflows:
64
64
65
65
## Overlay Modes
66
66
67
-
When `overflow` AND `has-detail` are both set, the detail becomes an overlay:
67
+
When `overlay` AND `has-detail` are both set, the detail becomes an overlay:
68
68
69
69
-`position: absolute; grid-column: none` removes detail from grid flow
70
70
- Backdrop becomes visible
@@ -85,7 +85,7 @@ Setting `overlaySize` to `100%` makes the detail cover the full layout (replaces
85
85
86
86
Prevents the master from jumping when the detail overlay first appears.
87
87
88
-
When no detail is present, master's extra track is set to `calc(100% - masterSize)`, pushing the detail column offscreen. This ensures that when a detail element appears, it starts offscreen and is then either moved into an overlay (if overflow, so no blink occurs and master area size is preserved) or revealed by removing the `calc()` override (if no overflow). The `keep-detail-column-offscreen` attribute keeps the same override active when detail first appears with overflow, until the overlay takes effect.
88
+
When no detail is present, master's extra track is set to `calc(100% - masterSize)`, pushing the detail column offscreen. This ensures that when a detail element appears, it starts offscreen and is then either moved into an overlay (if `overlay` is set, so no blink occurs and master area size is preserved) or revealed by removing the `calc()` override (if no overlay). The `keep-detail-column-offscreen` attribute keeps the same override active when detail first appears with overlay, until the overlay takes effect.
89
89
90
90
```css
91
91
:host(:not([has-detail])),
@@ -94,7 +94,7 @@ When no detail is present, master's extra track is set to `calc(100% - masterSiz
94
94
}
95
95
```
96
96
97
-
Set when detail first appears with overflow, cleared when detail is removed or overflow resolves.
97
+
Set when detail first appears with overlay, cleared when detail is removed or overlay resolves.
0 commit comments