Capture · Roots: roots drop w_full; hosts give the width

145 component roots drop w_full, the early returns included. Three
field rows keep it, Input, InputGroup and TagInput: stretched without
a width, taffy 0.9 laid the field's flex_1 share at no width in the
template picker at 280px, and the placeholder drew nothing. Container
keeps it, since mx_auto needs a width to fill.

Hosts that relied on a root's width now give it: MessageList boxes
each row at the list's width, the splash gives its bar the column's,
and test stages that mount a component as the window's root sit in a
size_full box. Tests hold a narrow row across the list and the splash
bar across its column; each goes red without its fix.

The gallery gains --narrow <px>, which lays each page in a padded
card at that width and shoots it without its script. The page
header wraps: the title takes the room and the theme switcher drops
below, where a long summary used to push it past the edge. A file
panel step waits for the panel to become key instead of a fixed
pause, which lost a race in a capture.
This commit is contained in:
ZacharyZhang-NY committed 2026-09-28 13:07:22 -04:00
1 parent 3be809a660
commit 81e73b79c1
126 files changed
+275 -276

No files matched your search

+5 -8
View File
@@ -138,13 +138,9 @@ impl RenderOnce for FontPicker {
if let Some(on_change) = self.on_change {
combobox = combobox.on_change(move |family, window, cx| on_change(family, window, cx));
}
div()
.flex()
.flex_col()
.gap_2()
.w_full()
.child(combobox)
.when_some(self.selected, |picker, family| {
div().flex().flex_col().gap_2().child(combobox).when_some(
self.selected,
|picker, family| {
picker.child(
div()
.font_family(family)
@@ -152,7 +148,8 @@ impl RenderOnce for FontPicker {
.text_color(theme.colors.fg_muted)
.child("The quick brown fox jumps over the lazy dog"),
)
})
},
)
}
}