diff --git a/apps/site/src/pages/index.astro b/apps/site/src/pages/index.astro index c576c7e1..4c433800 100644 --- a/apps/site/src/pages/index.astro +++ b/apps/site/src/pages/index.astro @@ -162,9 +162,9 @@ const nextEvent = events[0]; +

Search by disease, phenotype, biological process, or anatomical entity.

+

+ BDC is a research community where investigators can find, access, store, share, and analyze + heart, lung, blood, and sleep data in secure cloud workspaces. As one of NHLBI's data + repositories, BDC helps researchers share scientific data, reproduce findings, and reuse + trusted resources to accelerate biomedical discovery. +

Need help with BDC?{' '} @@ -254,10 +259,13 @@ const nextEvent = events[0]; +

+ Explore the latest BDC-enabled publications and see how investigators are using BDC + data and tools to advance heart, lung, blood, and sleep research. +

{featuredPublications.map((publication) => (
diff --git a/packages/ui-astro/README.md b/packages/ui-astro/README.md index 6d295a02..f6ba14e0 100644 --- a/packages/ui-astro/README.md +++ b/packages/ui-astro/README.md @@ -23,5 +23,6 @@ Shared Astro UI components for BDC apps. ## Notes -- Components are presentational and receive all content via props. +- Components are presentational and receive structured content through typed props. +- Components can also receive markup through slots: the default slot for primary child content and named slots for content rendered in designated locations. - Components use USWDS utility classes and depend on the app's USWDS/theme setup. diff --git a/packages/ui-astro/src/layout/PageSection.astro b/packages/ui-astro/src/layout/PageSection.astro index e0bf8ab4..3eb22466 100644 --- a/packages/ui-astro/src/layout/PageSection.astro +++ b/packages/ui-astro/src/layout/PageSection.astro @@ -9,7 +9,6 @@ interface SectionAction { interface Props extends astroHTML.JSX.HTMLAttributes<'section'> { eyebrow?: string; title: string; - description?: string; action?: SectionAction; centered?: boolean; tone?: 'default' | 'muted' | 'dark' | 'highlight'; @@ -20,13 +19,14 @@ const { class: className, eyebrow, title, - description, action, centered = false, tone = 'default', ...rest } = Astro.props; +const hasDescription = Astro.slots.has('description'); + const classes = [ 'page-section', 'padding-y-8', @@ -51,7 +51,11 @@ const classes = [

{title}

- {description &&

{description}

} + {hasDescription && ( +
+ +
+ )}
{action && centered && (