Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/components/callout-banner/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
foreground) — warning uses the codebase's existing lifecycle-notice
tokens, destructive uses `--destructive-soft`/`--destructive-border`
(packages/ui/AGENTS.md § Alpha policy) — one look, not two.
Stacks on narrow, becomes a row at sm. When `clickable`, the whole surface
Action banners stack on narrow screens; clickable banners keep their
chevron beside the text. When `clickable`, the whole surface
is a button that opens something (a diagnostics dialog); the trailing slot
is then usually empty and a chevron leads the user in. -->
<component
Expand All @@ -13,8 +14,8 @@
data-slot="callout-banner"
:data-tone="tone"
:data-clickable="clickable ? '' : undefined"
class="flex flex-col gap-3 rounded-menu-shell border px-4 py-3 text-left sm:flex-row sm:items-center"
:class="[toneClass, clickable ? interactiveClass : '']"
class="flex gap-3 rounded-menu-shell border px-4 py-3 text-left"
:class="[toneClass, clickable ? [interactiveClass, 'flex-row items-center'] : 'flex-col sm:flex-row sm:items-center']"
>
<div class="flex min-w-0 flex-1 items-start gap-3">
<slot name="icon">
Expand Down
1 change: 1 addition & 0 deletions src/components/settings/BackButton.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
pressed fill aligns with the card edge below instead of hanging into
the outer gutter. px-4 keeps the chevron and label comfortably inset. -->
<Button
data-settings-detail-back
variant="ghost"
:class="buttonClass"
@click="emit('click')"
Expand Down
6 changes: 5 additions & 1 deletion src/components/settings/SettingsSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ withDefaults(defineProps<{
fighting. The nth-last-child(3) rule hands the "I'm last" treatment to
whatever content element sits directly above the footer's hairline. -->
<div
data-settings-section-card

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep mobile section spacing inside SettingsSection

When the mobile host uses this marker and data-settings-section-footer to apply the promised equal-padding fix, SettingsSection's padding becomes host-owned CSS rather than component-owned layout. The showcase and other consumers will not receive the fix, and future component changes can drift from the host; implement the responsive spacing here or expose an enumerated layout prop instead of publishing internal DOM hooks for external styling.

AGENTS.md reference: AGENTS.md:L61-L69

Useful? React with 👍 / 👎.

class="overflow-hidden rounded-menu-shell border border-border bg-card"
:class="$slots.footer ? '[&>:nth-last-child(3)]:border-b-0' : ''"
>
Expand All @@ -44,7 +45,10 @@ withDefaults(defineProps<{
aria-hidden="true"
class="mx-4 border-t border-border"
/>
<div class="flex items-center justify-end gap-2 px-4 py-3">
<div
data-settings-section-footer
class="flex items-center justify-end gap-2 px-4 py-3"
>
<slot name="footer" />
</div>
</template>
Expand Down
1 change: 1 addition & 0 deletions src/components/settings/SwapTransition.vue
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ function onBeforeEnter() {
by the ancestor scroll area. -->
<div
ref="rootEl"
data-view-swap
class="relative overflow-x-clip"
>
<Transition
Expand Down
Loading