feat(15d): complete localization of full-guide page to PT

This commit is contained in:
Marcos Paulo
2026-09-05 22:30:50 +00:00
parent c022a93302
commit 054393f7af
38 changed files with 1322 additions and 325 deletions
@@ -24,7 +24,7 @@ const { label, columns = 3 } = Astro.props;
.grid {
display: grid;
grid-template-columns: repeat(var(--columns), 1fr);
gap: 1px; /* hairline separators, drawn by the parent background */
gap: 1px; /* hairline separators, drawn by the parent background */
background: var(--line);
}
@@ -34,6 +34,8 @@ const { label, columns = 3 } = Astro.props;
}
@media (max-width: 800px) {
.grid { grid-template-columns: 1fr; }
.grid {
grid-template-columns: 1fr;
}
}
</style>
+34 -21
View File
@@ -20,25 +20,33 @@ const { items, initialId = items[0]?.id } = Astro.props;
<div class="island" data-initial={initialId}>
<div class="tabs" role="tablist" aria-label="Sections">
{items.map((item) => (
<button
role="tab"
id={`tab-${item.id}`}
aria-controls={`panel-${item.id}`}
aria-selected={item.id === initialId}
data-tab={item.id}
>{item.label}</button>
))}
{
items.map((item) => (
<button
role="tab"
id={`tab-${item.id}`}
aria-controls={`panel-${item.id}`}
aria-selected={item.id === initialId}
data-tab={item.id}
>
{item.label}
</button>
))
}
</div>
{items.map((item) => (
<div
role="tabpanel"
id={`panel-${item.id}`}
aria-labelledby={`tab-${item.id}`}
data-panel={item.id}
hidden={item.id !== initialId}
>{item.body}</div>
))}
{
items.map((item) => (
<div
role="tabpanel"
id={`panel-${item.id}`}
aria-labelledby={`tab-${item.id}`}
data-panel={item.id}
hidden={item.id !== initialId}
>
{item.body}
</div>
))
}
</div>
<script>
@@ -68,7 +76,10 @@ const { items, initialId = items[0]?.id } = Astro.props;
</script>
<style>
.tabs { display: grid; gap: 8px; }
.tabs {
display: grid;
gap: 8px;
}
button {
padding: 12px;
@@ -78,7 +89,7 @@ const { items, initialId = items[0]?.id } = Astro.props;
text-align: left;
cursor: pointer;
/* transform/opacity only — never animate layout properties */
transition: background 180ms cubic-bezier(.2, 0, 0, 1);
transition: background 180ms cubic-bezier(0.2, 0, 0, 1);
}
button[aria-selected='true'] {
@@ -92,6 +103,8 @@ const { items, initialId = items[0]?.id } = Astro.props;
}
@media (prefers-reduced-motion: reduce) {
button { transition-duration: .01ms; }
button {
transition-duration: 0.01ms;
}
}
</style>
@@ -40,7 +40,7 @@ const { eyebrow, title, body, href } = Astro.props;
.eyebrow {
color: var(--accent);
font: var(--font-eyebrow);
letter-spacing: .1em;
letter-spacing: 0.1em;
text-transform: uppercase;
}
@@ -48,7 +48,7 @@ const { eyebrow, title, body, href } = Astro.props;
margin: 0;
font-size: var(--step-5);
line-height: 1.05;
letter-spacing: -.06em; /* tight display tracking is a signature of this design */
letter-spacing: -0.06em; /* tight display tracking is a signature of this design */
}
p {
@@ -69,6 +69,8 @@ const { eyebrow, title, body, href } = Astro.props;
}
@media (max-width: 800px) {
.block { padding: 18px; }
.block {
padding: 18px;
}
}
</style>