Capture · Roots: the twelve roots round 1 found
Eleven more roots drop w_full: the docked ActionBar, MessageBubble's three arms, PromptInput, TitleBar, Tabs, the horizontal Divider with and without a label, DropZone and Playlist. Their hosts in the crate are blocks or flex columns. The gallery's docked ActionBar sits in an items_center column, so the demo gives it the width. AspectRatio keeps w_full, and AGENTS.md says why: taffy 0.9 follows a ratio from a set width, not from a stretch, and without one the image gallery's tiles and the ratio demo collapsed. Every page and scripted state was shot again at full width and at 280px and compared with the shots from before T44a. Nothing collapsed or shrank. The mail reader's attachments now wrap side by side, as their row asks.
This commit is contained in:
1 parent
81e73b79c1
commit
ad98ca7746
11 files changed
+7
-13
No files matched your search
+1
-2
@@ -69,8 +69,7 @@ impl RenderOnce for ActionBar {
|
||||
.border_color(colors.border)
|
||||
.shadow(theme.elevation(Elevation::Floating))
|
||||
} else {
|
||||
bar.w_full()
|
||||
.justify_end()
|
||||
bar.justify_end()
|
||||
.px_4()
|
||||
.py_3()
|
||||
.bg(colors.surface)
|
||||
|
||||
@@ -364,7 +364,6 @@ impl RenderOnce for PromptInput {
|
||||
let body = div()
|
||||
.id(self.id.clone())
|
||||
.relative()
|
||||
.w_full()
|
||||
.flex()
|
||||
.flex_col()
|
||||
.gap_2()
|
||||
|
||||
@@ -238,7 +238,6 @@ impl RenderOnce for MessageBubble {
|
||||
.children(self.body);
|
||||
match self.role {
|
||||
Role::System => div()
|
||||
.w_full()
|
||||
.flex()
|
||||
.justify_center()
|
||||
.py_1()
|
||||
@@ -247,7 +246,6 @@ impl RenderOnce for MessageBubble {
|
||||
.child(body.text_size(theme.text_size(TextSize::Xs)))
|
||||
.into_any_element(),
|
||||
Role::User => div()
|
||||
.w_full()
|
||||
.flex()
|
||||
.gap_3()
|
||||
.child(
|
||||
@@ -282,7 +280,6 @@ impl RenderOnce for MessageBubble {
|
||||
.children(self.avatar)
|
||||
.into_any_element(),
|
||||
Role::Assistant | Role::Error => div()
|
||||
.w_full()
|
||||
.flex()
|
||||
.gap_3()
|
||||
.children(self.avatar)
|
||||
|
||||
@@ -298,7 +298,6 @@ impl RenderOnce for DropZone {
|
||||
.flex_col()
|
||||
.items_center()
|
||||
.gap_2()
|
||||
.w_full()
|
||||
.px_6()
|
||||
.py_8()
|
||||
.rounded(theme.radius(Radius::Lg))
|
||||
|
||||
+1
-1
@@ -115,7 +115,7 @@ impl RenderOnce for Playlist {
|
||||
let theme = cx.theme();
|
||||
let (muted, lead) = (theme.colors.fg_muted, theme.icon_size(IconSize::Lg));
|
||||
let small = theme.text_size(TextSize::Sm);
|
||||
let mut list = SelectableList::new(self.id.clone()).w_full();
|
||||
let mut list = SelectableList::new(self.id.clone());
|
||||
for (ix, track) in self.tracks.into_iter().enumerate() {
|
||||
let now = self.current.as_ref() == Some(&track.key);
|
||||
let mark = if now {
|
||||
|
||||
@@ -237,7 +237,7 @@ impl RenderOnce for Tabs {
|
||||
move |panel, t| if turn == 0 { panel } else { panel.opacity(t) },
|
||||
)
|
||||
});
|
||||
let frame = div().id(self.id).flex().gap_4().w_full();
|
||||
let frame = div().id(self.id).flex().gap_4();
|
||||
match placement {
|
||||
TabPlacement::Top => frame.flex_col().child(strip).children(panel),
|
||||
TabPlacement::Bottom => frame.flex_col().children(panel).child(strip),
|
||||
|
||||
@@ -39,12 +39,11 @@ impl RenderOnce for Divider {
|
||||
return line().h_full().border_l_1();
|
||||
}
|
||||
match self.label {
|
||||
None => line().w_full().border_t_1(),
|
||||
None => line().border_t_1(),
|
||||
Some(label) => div()
|
||||
.flex()
|
||||
.items_center()
|
||||
.gap_3()
|
||||
.w_full()
|
||||
.child(line().flex_1().border_t_1())
|
||||
.child(
|
||||
div()
|
||||
|
||||
@@ -376,7 +376,6 @@ impl RenderOnce for TitleBar {
|
||||
.flex_none()
|
||||
.items_center()
|
||||
.gap_2()
|
||||
.w_full()
|
||||
.h(theme.titlebar_height())
|
||||
.bg(theme.colors.bg)
|
||||
.border_b_1()
|
||||
|
||||
Reference in new issue
Block a user