XDSLayoutFooter@xds/core · Layout
Usage
Layout provides composable components for building structured page shells with header, sidebar, content, and footer slots. Use XDSLayout for full app layouts and XDSHStack/XDSVStack for simple directional stacking.Best practices
| Guidance | Practices |
|---|---|
| Do | Use XDSLayout for page shells that need distinct zones like header, sidebar(s), content, and footer. |
| Do | Use XDSHStack and XDSVStack for simple directional stacking within a content area. |
| Don't | Use XDSLayout for simple stacking layouts — use XDSHStack or XDSVStack instead. |
| Don't | Nest multiple XDSLayout components — use one per page shell and compose content within its slots. |
Import
tsimport {XDSLayoutFooter} from '@xds/core/Layout'
Props
| Prop | Type | Description |
|---|---|---|
children | ReactNode | Footer content. |
hasDivider | boolean (default: false) | Border at top edge. |
height | number | string | Footer height. |
label | string | Accessible label for the landmark element. |
role | AriaRole | ARIA landmark role. |
Showcase source
tsx'use client';import {XDSLayout,XDSLayoutContent,XDSLayoutHeader,XDSLayoutFooter,XDSLayoutPanel,XDSCard,XDSHStack,} from '@xds/core/Layout';import {XDSCenter} from '@xds/core/Center';import {XDSButton} from '@xds/core/Button';export default function LayoutFooterShowcase() {return (<XDSCenter width={600}><XDSLayoutheight="fill"header={<XDSLayoutHeader hasDivider><XDSCard variant="muted" /></XDSLayoutHeader>}start={<XDSLayoutPanel hasDivider width={140}><XDSCard variant="muted" /></XDSLayoutPanel>}content={<XDSLayoutContent><XDSCard variant="muted" /></XDSLayoutContent>}footer={<XDSLayoutFooter hasDivider><XDSHStack gap={2} hAlign="end"><XDSButton label="Cancel" variant="secondary">Cancel</XDSButton><XDSButton label="Save" variant="primary">Save</XDSButton></XDSHStack></XDSLayoutFooter>}/></XDSCenter>);}