ferst-core 0.7.5 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cms/config.template.yml +13 -0
- package/components/SiteFooter.astro +52 -1
- package/components/SiteHeader.astro +1246 -1243
- package/components/recipes/Contacts.astro +3 -3
- package/components/recipes/Documents.astro +2 -2
- package/components/recipes/Steps.astro +121 -120
- package/components/recipes/Table.astro +2 -1
- package/components/recipes/Video.astro +1 -1
- package/content/blocks.ts +16 -8
- package/content/schemas.ts +5 -0
- package/fonts/OFL.txt +287 -0
- package/fonts/inter-latin-400-normal.woff2 +0 -0
- package/fonts/inter-latin-500-normal.woff2 +0 -0
- package/fonts/inter-latin-600-normal.woff2 +0 -0
- package/fonts/playfair-display-latin-700-normal.woff2 +0 -0
- package/fonts/poppins-latin-300-normal.woff2 +0 -0
- package/fonts/poppins-latin-400-normal.woff2 +0 -0
- package/fonts/poppins-latin-500-normal.woff2 +0 -0
- package/fonts/poppins-latin-600-normal.woff2 +0 -0
- package/fonts/poppins-latin-700-normal.woff2 +0 -0
- package/integration.mjs +41 -1
- package/layouts/Base.astro +1 -0
- package/lib/icons.ts +10 -0
- package/lib/links.ts +24 -22
- package/lib/nav.ts +12 -0
- package/lib/siteSettings.ts +2 -1
- package/package.json +69 -68
package/cms/config.template.yml
CHANGED
|
@@ -126,6 +126,19 @@ collections:
|
|
|
126
126
|
fields:
|
|
127
127
|
- { name: label, label: Label, widget: string }
|
|
128
128
|
- { name: href, label: Link, widget: string }
|
|
129
|
+
- name: groups
|
|
130
|
+
label: Footer columns
|
|
131
|
+
widget: list
|
|
132
|
+
required: false
|
|
133
|
+
hint: Headed columns for policies, safeguarding, documents and forms — keep the main menu short.
|
|
134
|
+
fields:
|
|
135
|
+
- { name: heading, label: Heading, widget: string }
|
|
136
|
+
- name: links
|
|
137
|
+
label: Links
|
|
138
|
+
widget: list
|
|
139
|
+
fields:
|
|
140
|
+
- { name: label, label: Label, widget: string }
|
|
141
|
+
- { name: href, label: Link, widget: string }
|
|
129
142
|
|
|
130
143
|
- name: calendar-settings
|
|
131
144
|
label: Calendar
|
|
@@ -28,9 +28,11 @@ interface Props {
|
|
|
28
28
|
tagline?: string;
|
|
29
29
|
/** The site's call-to-action (navbarSettings.cta), shown beside Facebook; null hides it. */
|
|
30
30
|
cta?: { label: string; href: string } | null;
|
|
31
|
+
/** Headed columns of reference links (policies, documents, forms). */
|
|
32
|
+
groups?: Array<{ heading: string; links: NavLink[] }>;
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
const { facebookUrl, footerLinks, footerClass, shortName, tagline, cta = { label: 'Contact', href: '/contact/' } } = Astro.props;
|
|
35
|
+
const { facebookUrl, footerLinks, footerClass, shortName, tagline, cta = { label: 'Contact', href: '/contact/' }, groups = [] } = Astro.props;
|
|
34
36
|
const year = new Date().getFullYear();
|
|
35
37
|
---
|
|
36
38
|
|
|
@@ -65,6 +67,19 @@ const year = new Date().getFullYear();
|
|
|
65
67
|
</div>
|
|
66
68
|
</div>
|
|
67
69
|
|
|
70
|
+
{groups.length > 0 && (
|
|
71
|
+
<nav class="footer-groups" aria-label="Site information">
|
|
72
|
+
{groups.map((g) => (
|
|
73
|
+
<div class="footer-group">
|
|
74
|
+
<h2 class="footer-group__title">{g.heading}</h2>
|
|
75
|
+
<ul>
|
|
76
|
+
{g.links.map((l) => <li><a href={l.href}>{l.label}</a></li>)}
|
|
77
|
+
</ul>
|
|
78
|
+
</div>
|
|
79
|
+
))}
|
|
80
|
+
</nav>
|
|
81
|
+
)}
|
|
82
|
+
|
|
68
83
|
<div class="footer-bottom">
|
|
69
84
|
<nav class="footer-nav" aria-label="Footer navigation">
|
|
70
85
|
{footerLinks.map((link) => (
|
|
@@ -271,4 +286,40 @@ const year = new Date().getFullYear();
|
|
|
271
286
|
gap: 1rem;
|
|
272
287
|
}
|
|
273
288
|
}
|
|
289
|
+
|
|
290
|
+
/* Headed columns of reference links: policies, documents, forms. */
|
|
291
|
+
.site-footer .footer-groups {
|
|
292
|
+
display: grid;
|
|
293
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
|
|
294
|
+
gap: 1.5rem 2rem;
|
|
295
|
+
max-width: 72rem;
|
|
296
|
+
margin: 0 auto;
|
|
297
|
+
padding: 1.75rem clamp(1.25rem, 4vw, 2.5rem) 0.5rem;
|
|
298
|
+
}
|
|
299
|
+
.site-footer .footer-group__title {
|
|
300
|
+
margin: 0 0 0.6rem;
|
|
301
|
+
font-family: var(--font-heading);
|
|
302
|
+
font-size: 0.75rem;
|
|
303
|
+
font-weight: 600;
|
|
304
|
+
letter-spacing: 0.1em;
|
|
305
|
+
text-transform: uppercase;
|
|
306
|
+
color: var(--text-footer);
|
|
307
|
+
opacity: 0.8;
|
|
308
|
+
}
|
|
309
|
+
.site-footer .footer-group ul {
|
|
310
|
+
list-style: none;
|
|
311
|
+
margin: 0;
|
|
312
|
+
padding: 0;
|
|
313
|
+
display: grid;
|
|
314
|
+
gap: 0.45rem;
|
|
315
|
+
}
|
|
316
|
+
.site-footer .footer-group a {
|
|
317
|
+
color: var(--text-footer-link);
|
|
318
|
+
text-decoration: none;
|
|
319
|
+
font-size: 0.9375rem;
|
|
320
|
+
}
|
|
321
|
+
.site-footer .footer-group a:hover,
|
|
322
|
+
.site-footer .footer-group a:focus-visible {
|
|
323
|
+
text-decoration: underline;
|
|
324
|
+
}
|
|
274
325
|
</style>
|