Skip to content

← All components

Brand and content

Footer

Copyright, feed, license, and secondary link footer.

Live example

Usage

Each example includes the complete adapter-specific parameter reference. Copy it as a starting point, then remove options your use case does not need.

React

tsx
import { Footer } from "@cofob/design-system-react";

/**
 * Complete Footer parameter reference.
 * @param brand
 *   type: string | renderable content
 *   default: "cofob"
 *   example: "cofob"
 * @param description
 *   type: string | renderable content
 *   default: —
 *   example: "Independent software and notes."
 * @param groups
 *   type: readonly FooterGroup[]
 *   default: —
 *   example: {groups}
 * @param links
 *   type: readonly LinkItem[]
 *   default: —
 *   example: {links}
 * @param legal/copyright
 *   type: renderable content (React) | string (Svelte)
 *   default: —
 *   example: "© 2026 cofob"
 * @param children
 *   type: ReactNode | Svelte Snippet | child HTML
 *   default: —
 *   example: children / snippet / child HTML
 * @param footer attributes
 *   type: native element attributes
 *   default: —
 *   example: class / style / aria-* / data-*
 */
export function FooterExample() {
  return (
    <Footer groups={groups} />
  );
}

Svelte

svelte
<script lang="ts">
  import { Footer } from "@cofob/design-system-svelte";

  // Complete Footer parameter reference.
  // brand
  //   type: string | renderable content
  //   default: "cofob"
  //   example: "cofob"
  // description
  //   type: string | renderable content
  //   default: —
  //   example: "Independent software and notes."
  // groups
  //   type: readonly FooterGroup[]
  //   default: —
  //   example: {groups}
  // links
  //   type: readonly LinkItem[]
  //   default: —
  //   example: {links}
  // legal/copyright
  //   type: renderable content (React) | string (Svelte)
  //   default: —
  //   example: "© 2026 cofob"
  // children
  //   type: ReactNode | Svelte Snippet | child HTML
  //   default: —
  //   example: children / snippet / child HTML
  // footer attributes
  //   type: native element attributes
  //   default: —
  //   example: class / style / aria-* / data-*
</script>

<Footer groups={groups} />

HTML

html
<!--
  Complete Footer parameter reference.
  brand
    type: string | renderable content
    default: "cofob"
    example: "cofob"
  description
    type: string | renderable content
    default: —
    example: "Independent software and notes."
  groups
    type: readonly FooterGroup[]
    default: —
    example: {groups}
  links
    type: readonly LinkItem[]
    default: —
    example: {links}
  legal/copyright
    type: renderable content (React) | string (Svelte)
    default: —
    example: "© 2026 cofob"
  children
    type: ReactNode | Svelte Snippet | child HTML
    default: —
    example: children / snippet / child HTML
  footer attributes
    type: native element attributes
    default: —
    example: class / style / aria-* / data-*
-->
<footer class="cf-footer">…</footer>

<script type="module">
  import { initDesignSystem } from "@cofob/design-system-css";

  const designSystem = initDesignSystem(document);
  window.addEventListener("pagehide", () => designSystem.destroy(), { once: true });
</script>

Parameters

Adapter differences are explicit. Native element attributes are forwarded in React and Svelte and can be written directly in HTML.

ParameterTypeDefaultAdaptersExampleDescription
brandstring | renderable content"cofob"React · Svelte · HTML"cofob"Brand text or custom brand content.
descriptionstring | renderable contentReact · Svelte · HTML"Independent software and notes."Supporting explanatory content.
groupsreadonly FooterGroup[]React · Svelte · HTML{groups}Footer link columns.
linksreadonly LinkItem[]React · Svelte · HTML{links}Portable link records with href, label, external, and current fields.
legal/copyrightrenderable content (React) | string (Svelte)React · Svelte · HTML"© 2026 cofob"Legal/copyright content; adapter naming differs.
childrenReactNode | Svelte Snippet | child HTMLReact · Svelte · HTMLchildren / snippet / child HTMLIdiomatic adapter composition content.
footer attributesnative element attributesReact · Svelte · HTMLclass / style / aria-* / data-*Forwards native class/style, accessibility, event, and data attributes to the root element.