x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<section class="overflow-hidden rounded-xl border border-line-faint bg-surface shadow-sm">
<div class="flex items-center justify-between gap-4 bg-surface-subtle px-5 py-3.5">
<div class="flex items-center justify-between gap-3">
<h2 class="text-sm font-semibold text-ink">Google Search</h2>
<span class="inline-block rounded-full px-2.5 py-0.5 text-xs font-semibold bg-badge-success text-badge-success-ink">Verified</span>
</div>
</div>
<div class="p-5">
<p class="text-sm text-ink-muted">
A header slot lets a badge sit beside the title without the panel growing a
parameter for it.
</p>
</div>
<div class="bg-surface-subtle px-5 py-3 text-xs text-ink-muted">
<div class="flex justify-end">
<button type="button" class="inline-flex items-center justify-center gap-2 rounded-md px-4 text-sm font-medium transition-colors py-2 border border-line bg-surface-sunk text-ink hover:border-line-strong" >
Run
</button>
</div>
</div>
</section>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%= render PanelComponent.new do |panel| %>
<% panel.with_header do %>
<div class="flex items-center justify-between gap-3">
<h2 class="text-sm font-semibold text-ink">Google Search</h2>
<%= render BadgeComponent.new(meaning: :verified).with_content("Verified") %>
</div>
<% end %>
<p class="text-sm text-ink-muted">
A header slot lets a badge sit beside the title without the panel growing a
parameter for it.
</p>
<% panel.with_footer do %>
<div class="flex justify-end">
<%= render ButtonComponent.new(variant: :secondary).with_content("Run") %>
</div>
<% end %>
<% end %>