feat(layout): add YaziPaneRow 3-pane layout primitive

Add the shared parent | current | preview row primitive that implements
yazi's mgr.ratio = [1, 3, 3] contract via Yoga flexGrow, so every list
tab renders an identical, layout-stable shell regardless of terminal
size.

- New YaziPaneRow component: three bordered columns grow at 1/7 : 3/7
  : 3/7 with flexBasis=0 (content can never stretch its slot). The
  current column carries the accent focus ring when `focused` is
  truthy; parent and preview stay muted. The blank parent keeps its
  1/7 slot with a muted placeholder rather than collapsing.
- PANE_RATIO.current 4 -> 3 to match yazi's [1, 3, 3].
- Add render-based tests covering the 1:3:3 ratios (incl. null
  parent/preview) and the focused/unfocused accent ring behavior.
- Configure the bun test preload for the solid JSX transform.
This commit is contained in:
2026-07-31 16:58:33 -04:00
parent 21b088b5a9
commit 5b667367a5
6 changed files with 404 additions and 2 deletions

2
bunfig.test.toml Normal file
View File

@@ -0,0 +1,2 @@
[test]
preload = ["./tests/preload/solid-test-plugin.ts"]