メインコンテンツまでスキップ

フッターブロック

Footer は、MUI Stack をベースにしたサイトフッターで、デフォルトでは <footer> としてレンダリングされ、ロゴ、コンテンツ、著作権の各領域をプライマリーカラーのバー上に表示します。

インストール

npm install @nodeblocks/frontend-footer-block

必要なもの

項目理由
logoSrcFooter.Logo 用の画像 URL
contentフッターのメイン本文(リンク、テキスト、カスタム JSX など)
copyright著作権表示または法的表記(ReactNode。例: <>© 2024 …</>
構成モード

FooterlogoSrccontentcopyright を渡すと、デフォルトのブロック(Footer.LogoFooter.ContentFooter.Copyright)を描画します。compound children を使うとブロックのマークアップを置き換えられます(Footer.ContentFooter.Copyrightchildren は対応するルート props より優先されます)。function childblocksblockOrder を使えば、セクションの追加や順序変更ができます。

コード例

ライブエディター
function Example() {
  const footerLinks = (
    <div style={{display: 'flex', flexDirection: 'column', gap: 8}}>
      <a href="#about" style={{color: 'inherit'}}>
        About Us
      </a>
      <a href="#contact" style={{color: 'inherit'}}>
        Contact Us
      </a>
    </div>
  );

  return (
    <Footer
      logoSrc="https://docs.nodeblocks.dev/img/icon-small.png"
      content={footerLinks}
      copyright={<>© 2024 Nodeblocks.</>}
    />
  );
}
結果
Loading...

重要なプロパティ

コアプロパティ

プロパティ必須デフォルト説明
logoSrcstringはい-フッターロゴの URL (Footer.Logosrc またはこの値を使います)
contentReactNodeはい-フッターのメイン本文(リンク、テキスト、カスタム JSX など)
copyrightReactNodeはい-著作権表示または法的通知

コンテンツプロパティ

logoSrccontentcopyright をルートに設定します。サブコンポーネントは、ローカル props または children(コンパウンドモード)を渡さない限り、コンテキストからこれらを読み取ります。

コンポーネントプロパティ必須デフォルト説明
Logosrcstringいいえルートの logoSrcロゴ画像の URL。src が設定されている場合はそれを使い、そうでなければ logoSrc を使います
LogoaltstringいいえFooter logo画像の alt テキスト
LogologoSrcstringいいえルートの logoSrcこのブロックのコンテキスト URL を上書きします
LogoBoxProps<'img'>いいえ-その他の img props(classNamesx など)
ContentchildrenReactNodeいいえルートの contentコンテンツのマークアップ(children ?? content
ContentcontentReactNodeいいえルートの contentこのブロックのコンテキストを上書きします
CopyrightchildrenReactNodeいいえルートの copyright著作権のマークアップ(children ?? copyright
CopyrightcopyrightReactNodeいいえルートの copyrightこのブロックのコンテキストを上書きします

LogoContentCopyright はそれぞれ Footer.LogoFooter.ContentFooter.Copyright です。

レイアウトと構成のプロパティ

プロパティ必須デフォルト説明
childrenBlocksOverride | ReactNodeいいえundefinedコンパウンドサブコンポーネント、または blocksblockOrder を返す関数オーバーライド
classNamestringいいえundefinedルートコンテナのクラス名(デフォルトで nbb-footer が適用されます)
sxSxPropsいいえundefinedルートコンテナ用の MUI システムスタイル

Footer は MUI の StackPropschildrencontent を除く)を継承し、spacing(デフォルトは { xs: 2, sm: 4 })、direction(デフォルトは { xs: 'column', sm: 'row' })、id を含みます。ルートは component="footer"backgroundColor: primary.maincolor: primary.contrastText、レスポンシブなパディングを使用します。レンダリング順序は logocontentcopyright で、defaultBlockOrderlogocontentcopyright です。

デフォルト UI ブロック

ブロック基盤備考
Footer(ルート)Stackcomponent="footer"プライマリーバー。direction は column(xs)/ row(sm+
Footer.LogoBoxcomponent="img"alt のデフォルトは Footer logosrclogoSrc がない場合にフォールバックします
Footer.ContentBoxflex: 1typography: body2
Footer.CopyrightBoxtypography: body2

TypeScript

import { Footer } from '@nodeblocks/frontend-footer-block';
import type { ReactNode } from 'react';

type FooterConfig = {
logoSrc: string;
content: ReactNode;
copyright: ReactNode;
};

const config: FooterConfig = {
logoSrc: 'https://docs.nodeblocks.dev/img/icon-small.png',
content: (
<a href="#about" style={{ color: 'inherit' }}>
About Us
</a>
),
copyright: <>© 2024 Nodeblocks.</>,
};

<Footer {...config} />;